Javascript (0,eval)是做什么的?
以下是来自 它返回[对象窗口] 我不明白的是(0,eval)部分 JS用这个做什么 从链接中,它表示它正在间接调用eval()。“间接”是什么意思?事实上,请看,我现在投了重复票: 。。Ecma规范将对eval的引用视为“直接eval调用”,但只生成eval的表达式是间接的,并且间接eval调用保证在全局范围内执行 (虽然以下[大部分]是正确的,但它并不特定于Javascript (0,eval)是做什么的?,javascript,Javascript,以下是来自 它返回[对象窗口] 我不明白的是(0,eval)部分 JS用这个做什么 从链接中,它表示它正在间接调用eval()。“间接”是什么意思?事实上,请看,我现在投了重复票: 。。Ecma规范将对eval的引用视为“直接eval调用”,但只生成eval的表达式是间接的,并且间接eval调用保证在全局范围内执行 (虽然以下[大部分]是正确的,但它并不特定于eval用法。) 计算所有表达式并生成最后一个表达式的值 也就是说,(0,eval)的计算结果为eval(这是一个函数对象值),因此结果
eval
用法。)
计算所有表达式并生成最后一个表达式的值 也就是说,
(0,eval)
的计算结果为eval
(这是一个函数对象值),因此结果表达式相当于eval('this')
换个角度来看:
var f = (0, eval)
f === eval // true
f('this')
我的问题更多的是关于(0,eval)部分,现在已经指出它是逗号运算符的用法(它回答了我的问题)
var f = (0, eval)
f === eval // true
f('this')