This question already has answers here:
What is the purpose of a self executing function in javascript?
                                
                                    (18个回答)
                                
                        
                                4个月前关闭。
            
                    
我有以下代码:

var x = function(){
    return {
        x: function(name){
            this.name = name;
        }
    }
}();

var z = new x.x ("jaga");
console.log(z);



我的问题是为什么我需要使用:

}();



在函数的末尾使其成为构造函数?

最佳答案

IFFE的优点在于,它会将内部代码移出全局范围。因此,您的代码不能与页面上的其他代码发生意外交互。

这对于发布库的人最有用,并且在您的示例中没有提供任何好处。

如今,此patten在es6中已被模块替换。

关于javascript - 为什么要使用IFFE来构造构造函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58888697/

10-16 19:39