var xye = 1; (function () { console.log(xye) xye = 2 let xye = 4 console.log(this.xye) console.log(xye) })()
图中输出什么?
结果:
因为let定义的变量,不能在初始化之前就使用它(console)。所以会抛出一个Uncaught ReferenceError
ps:
自执行函数里面的this指向window
var xye = 1; (function () { console.log(this) })()
在node环境指向global