引子

(0, function (arg) { ... })(this)

[comma operator](The comma operator evaluates each of its operands (from left to right) and returns the value of the last operand.)

(0, fn)() === fn()
var global = 'outer';
(() => {
var global = 'inner';
eval('console.log("call directly:" + global)');
(0, eval)('console.log("call directly:" + global)');
})()
// call directly:inner
// call directly:outer

link