查阅react组件type时发现下面这种写法。
(0, function),这种表达式可看做(true && function)或(0 ? 0 : function)
这种间接调用的function保证了其在全局范围内执行。
var x = 'outer';
(function() {
var x = 'inner';
eval('console.log("direct call: " + )'); // direct call: inner
(1,eval)('console.log("indirect call: " + x)'); // indirect call: outer
})();
另外,非严格模式下,可意外创建全局变量,但严格模式下不行。
参考:
https://stackoverflow.com/questions/9107240/1-evalthis-vs-evalthis-in-javascript