为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript中的间接函数调用

JavaScript中的间接函数调用

ABOUTYOU 2019-11-30 14:04:42
有些事情像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节对此进行了说明。


查看完整回答
反对 回复 2019-11-30
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

的逗号操作导致表达式顺序地进行评价。将表达式包装在括号中将返回最后一个表达式的值。所以(1, alert)("hello")在功能上等同于:


1;

alert("hello");

在我头顶上,我想不出这样做的理由。


查看完整回答
反对 回复 2019-11-30
  • 3 回答
  • 0 关注
  • 531 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信