// return 3; 很好奇,为什么会返回3?这是什么机制?圆括号起到了什么作用?
(1, 2, 3, alert )("Amazing!");
// 这里就更好玩了,居然可以直接调用alert ;经过测试,全局函数都可以通过这样调用。
下面是关于 方括号[] 的疑问:
在JS中,[]几乎就和数组画上了等号,但也有神奇的时候。
[1,2,3][1];
// return 2; 当然这种方法也经常使用,常用于数组的索引 和 调用的对象的响应属性名存放在某个变量时。
[1,2,3][1,2];
//return 3 ; 这种情况就有趣多了,和上面圆括号的情况很像,都会返回括号内的最后一个值
在(1,2,3)里,括号和逗号都是运算符,逗号运算符返回最后一个表达式的求值结果,具体规则可自己查。
("Amazing")的括号表示函数调用。
alert是一个函数对象,当它作为表达式的求值结果返回,当然可以被调用。
[1,2,3]这里的方括号是声明数组常量,紧跟[1]表示取数组元素。[1,2,3][1]意为取[1,2,3]这个数组里的第一个元素,即2(下标从0开始)
[1,2,3][1,2]=[1,2,3][(1,2)]=[1,2,3][2]=3