Javascript 如何编写一个好的即时执行函数?
1.在我的代码中经常出现Javascript 如何编写一个好的即时执行函数?,javascript,Javascript,1.在我的代码中经常出现 (function(){})(); 2.经常阅读 (function(){}.call(this)); 有很多工作做得很好。哪一个更好?为什么?通常,生活总是与全球环境相联系的。在第二个代码段中,它绑定到call的第一个参数提供的上下文。比如不打电话 var a=20, obj={a:10}; (function(){console.log(this.a)})(这取决于您的用例。如果第一个适合您,请使用第一个。它与函数中的不同。没有“更好”,这取决于你想要什么。调
(function(){})();
2.经常阅读
(function(){}.call(this));
有很多工作做得很好。哪一个更好?为什么?通常,生活总是与全球环境相联系的。在第二个代码段中,它绑定到call的第一个参数提供的上下文。比如不打电话
var a=20,
obj={a:10};
(function(){console.log(this.a)})(
这取决于您的用例。如果第一个适合您,请使用第一个。它与函数中的不同。没有“更好”,这取决于你想要什么。调用(this)将上下文传递给函数。在函数体中,您将能够访问此函数的字段。Otherwize在函数体中为空。我们不知道为什么此代码段的作者特别决定使用。调用(this)
。事实是:如果没有.call(this)
函数中this
的值将是未定义的/全局的,而如果没有.call(this)
它就是this
中的任何值。时期不多不少。@Carson.call(this)
根据IIFE的调用时间而定。检查我答案中的第三和第四个片段。但在我的例子中,生活总是与全球环境相联系的。