我正在学习Jquery,在学习过程中,我学会了如何不污染全局命名空间 我已经学会了两种方法:
现在我的问题是,哪一个更专业,更好的方法来防止污染全局命名空间。我认为使用自闭合匿名函数更好,因为它不添加甚至一个名称。但在面向对象的方法只有对象名称被添加到全局命名空间 答案表明两者都是相同的,但一切都有利弊,我应该优先使用。
答案 0 :(得分:1)
将这两种做法结合起来没有任何限制。您可以像这样构建应用程序:
(function () {
function Greeter(text) {
this.greetPhrase = text;
}
Greeter.prototype = {
greet : function () {
alert(this.greetPhrase);
}
};
var greeterInstance = new Greeter('Hello');
greeterInstance.greet();
})();