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"

(待续)
...全文
1 点赞 收藏 11
写回复
11 条回复
bistar 2002年06月25日
收藏
回复 点赞
gucs 2002年06月25日
收藏
回复 点赞
foxegg 2002年06月24日
good!!!!
回复 点赞
possible_Y 2002年06月24日
en
回复 点赞
qiushuiwuhen 2002年06月24日
下一集
http://www.csdn.net/Expert/TopicView1.asp?id=823703
回复 点赞
apple749769 2002年06月24日
呵呵,我支持你!
回复 点赞
hax 2002年06月24日
hehe, 确切的说,我是按照ECMAScript来写的。JavaScript 1.5相当于ECMAScript Edition 3,而MS直到最近的JScript 5.5才是实现了ECMAScript Edition 3。
回复 点赞
TIYILON 2002年06月24日
参数数组确实好用,增加了接口的灵活性。
回复 点赞
cawangjun 2002年06月24日
是jscript还是javascript?
回复 点赞
hax 2002年06月23日
笔误纠正一下:应该是ECMAScript。
回复 点赞
liubingqian 2002年06月23日
好。建议每个帖子长一些,把帖子的数量降下去。
回复 点赞
发动态
发帖子
JavaScript
创建于2007-09-28

5.1w+

社区成员

22.3w+

社区内容

Web 开发 JavaScript
社区公告
暂无公告