JavaScript立即调用函数模式差异

时间:2015-02-02 13:06:50

标签: javascript



(function() {
	console.log('immediately invoked function...');
}.call(this));

(function() {
	console.log('immediately invoked function...');
}());




这两种IIFE模式有什么区别?

2 个答案:

答案 0 :(得分:3)

区别在于,在.call()情况下,IIFE中this的值是明确设置的(通过.call()的第一个参数)。在第二种情况下,它是根据函数的调用方式确定的。

顺便提一下,在这种情况下两者都是相同的。

答案 1 :(得分:0)

在上面的示例中,函数上下文(例如this关键字)设置为适用于IIFE生活的上下文)

请参阅Function.prototype.call()

相关问题