Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript (0,eval)是做什么的?_Javascript - Fatal编程技术网

Javascript (0,eval)是做什么的?

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

以下是来自

它返回[对象窗口]

我不明白的是(0,eval)部分

JS用这个做什么

从链接中,它表示它正在间接调用eval()。“间接”是什么意思?

事实上,请看,我现在投了重复票:

。。Ecma规范将对eval的引用视为“直接eval调用”,但只生成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')