JavaScript中的间接函数调用

有些事情像


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的描述该语法的特定部分?


ABOUTYOU
浏览 532回答 3
3回答

暮色呼如

它是逗号运算符,它计算两个操作数并返回第二个操作数的值。因此,类似(null, alert)对alert函数求值的函数,您可以立即使用括号调用该函数。ECMA-262(PDF)的11.14节对此进行了说明。

慕码人2483693

的逗号操作导致表达式顺序地进行评价。将表达式包装在括号中将返回最后一个表达式的值。所以(1, alert)("hello")在功能上等同于:1;alert("hello");在我头顶上,我想不出这样做的理由。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript