Javascript 防止影响全局命名空间的自调用匿名函数与面向对象方法

Javascript 防止影响全局命名空间的自调用匿名函数与面向对象方法,javascript,jquery,Javascript,Jquery,我正在学习Jquery,在我的学习过程中,我学会了如何不污染全局名称空间。 我学会了两种方法: 使用自调用匿名函数 使用面向对象的方法,在这种方法中,我们创建一个包含变量的对象,并使用该对象访问该变量,而不影响全局名称空间 现在我的问题是,哪一个更专业,更能防止污染全局命名空间。我认为使用自动关闭匿名函数更好,因为它甚至不添加单个名称。但在面向对象的方法中,只有对象名称被添加到全局命名空间。 答案表明两者都是相同的,但每件事都有优点和缺点,所以我最好使用哪一种。将这两种做法结合起来没有任何限制。

我正在学习Jquery,在我的学习过程中,我学会了如何不污染全局名称空间。
我学会了两种方法:

  • 使用自调用匿名函数
  • 使用面向对象的方法,在这种方法中,我们创建一个包含变量的对象,并使用该对象访问该变量,而不影响全局名称空间
  • 现在我的问题是,哪一个更专业,更能防止污染全局命名空间。我认为使用自动关闭匿名函数更好,因为它甚至不添加单个名称。但在面向对象的方法中,只有对象名称被添加到全局命名空间。

    答案表明两者都是相同的,但每件事都有优点和缺点,所以我最好使用哪一种。

    将这两种做法结合起来没有任何限制。您可以按如下方式构建应用程序:

    (function () {
    
        function Greeter(text) {
    
            this.greetPhrase = text;
    
        }
    
        Greeter.prototype = {
    
            greet : function () {
    
                alert(this.greetPhrase);
    
            }
    
        };
    
        var greeterInstance = new Greeter('Hello');
    
        greeterInstance.greet();
    
    })();
    
    你是说自动关闭匿名功能?