JavaScript隐藏秘技 (1)
hax 2002-06-23 07:08:30 这是我整理JavaScript版本差异时候的副产品,hehe。欢迎大家指正。
说是隐藏密技,是因为在广泛使用的MS的JScript5文档里没有提到。
1. 数组的定义方法:
除了常用的 myArray = {"a", "b", "c"};
其实可以 myArray = ["a", "b", "c"];
此外可以用 myArray = ["a", , "b"] 得到一个length=3的数组,其中
myArray[0] = "a" myArray[1] = undefined
但是忽略最后一个逗号。也就是说如果 myArray = [1, 2, , 4, ,];
则length为5,其中myArray[2], myArray[4]为undefined。
hax注:补充一点。IE 6并不忽略最后一个逗号,也就是myArray的长度在IE里是6而不是5,这是它的一个bug,因为我仔细看了EMCAScript的说明确实应该是5的。所以大家在利用这个特性的时候,请小心一点。
2. function的参数:
用 arguments 可以得到参数数组,因此可以处理不定个数的参数
function myConcat()
{
s = "";
for (i=0; i<arguments.length; i++)
s += arguments[i];
return s;
}
myConcat(1, "a", 123, "abc")返回"1a123abc"
(待续)