没太理解题意,方法的调用是要加括号的啊……
如果题目问的是为什么会有
(0, eval)('this')这种调用形式的话,那是因为js规定
eval在间接调用(无调用者上下文)时,其编译的代码会默认执行在顶层作用域。
例:
let foo = 1;(function() { let foo = 2; console.log(eval('foo')); // 2 console.log((0, eval)('foo')); // 1 (0, eval)('foo = 3'); console.log(foo); // 2})();console.log(foo); // 3所以
(0, eval)('this')永远只会返回全局对象(该表达式可以作为globalThis的polyfill,并且无法被污染)



