js單例模式

今天進一步瞭解了js單例模式,下面說一下我的理解。

在實際問題中,我們在js文件中聲明過多的函數和全局變量,或者導入多個js文件,都可能導致全局變量的命名衝突問題。

單例模式要求類只能實例化一次並且提供實例的全局接口。通過單例模式,我們可以爲某些方法和屬性規劃一個命名空間來解決問題。

比較簡單的單例模式:

var test = {
    a: 1,
    b: 2,
    demo: function() {
        alert(a)
    }
}
較爲常見的時下面的情況:

function a(){
    }
function b(){
    }
function c(){
    }  //函數過多就有可能造成衝突
可以通過以下方式解決:

var test = {
    testa:1,
    testb:2,
    meta:function (){
}
    metb:function (){
}
    metc:function() {
}
}
這樣就可以通過對象test來訪問對象內部的屬性和方法。

當導入多個js文件時,也可以通過創建多個不同的對象來將各自的變量和方法進行“隔離”,避免衝突。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章