2
我目前正在使用一些應該可以在全局訪問的常見方法公開全局對象,但是想要將其原型方法定義封裝在IIFE中,主要是爲了能夠使用庫別名。Javascript:暴露在IIFE中定義的全局對象
爲了實現我目前在IIFE作用域之外聲明全局對象,並在作用域內覆蓋一個新對象實例。
這使得創建一個新的實例不可能事後,我不在乎。並且有效地使全局對象可以全局訪問:
function CustomNamespace(){};
+function ($) {
CustomNamespace.prototype = {
constructor: CustomNamespace,
func1: function (args) {
// ...
},
func2: function (args) {
// ...
},
// ...
};
CustomNamespace = new CustomNamespace();
}(window.jQuery || {});
// ...
CustomNamespace.func1();
問題:這是否被認爲是不良做法或反模式?還是還有其他更「優雅」的做法? PS:我意識到這可能是一個微不足道的問題,但對於這個特殊情況還沒有找到任何答案。
它呢,非常感謝你 – decksterr