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"

(待续)
...全文
66 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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
  • 打赏
  • 举报
回复
好。建议每个帖子长一些,把帖子的数量降下去。

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧