为什么这段代码有效:"(1,eval)('this')"

nah*_*hab 7 javascript

为什么下一个代码是有效的Javascript代码?

var global = (1,eval)('this');

alert(global);
Run Code Online (Sandbox Code Playgroud)

Fré*_*idi 10

这是因为逗号运算符返回其第二个操作数(并计算两者).

您问题中的代码相当于:

1;
var global = eval('this');
alert(global);
Run Code Online (Sandbox Code Playgroud)