<分区>
标题总结了问题——这是代码示例:
!function() {
console.log(this); // global object
}();
(function() {
console.log(this); // global object
})();
() => {
console.log(this); // {}
}();
var x = (function() {
console.log(this); // global object
})();
箭头函数的幕后发生了什么?如果我想在 ES5 中使用该作用域,据我所知,我必须将执行绑定(bind)到一个空对象,如下所示:
!function() {
console.log(this); // global object
}.bind({})();