有些事情像f.call(...)f.apply(...)但是,这是(1, alert)('Zomg what is this????!!!11')在这种情况下,“ 1”似乎没有多大意义,以下工作正常:(null, alert)('Zomg what is this????!!!11')(1, null, alert)('Zomg what is this????!!!11')(undefined, alert)('Zomg what is this????!!!11')您能否指向ECMAScript的描述该语法的特定部分?
3 回答
暮色呼如
TA贡献1853条经验 获得超9个赞
它是逗号运算符,它计算两个操作数并返回第二个操作数的值。
因此,类似(null, alert)对alert函数求值的函数,您可以立即使用括号调用该函数。
ECMA-262(PDF)的11.14节对此进行了说明。
慕码人2483693
TA贡献1860条经验 获得超9个赞
的逗号操作导致表达式顺序地进行评价。将表达式包装在括号中将返回最后一个表达式的值。所以(1, alert)("hello")在功能上等同于:
1;
alert("hello");
在我头顶上,我想不出这样做的理由。
添加回答
举报
0/150
提交
取消