欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript的單例模式 (singleton in Javascript)

 更新時(shí)間:2010年06月11日 00:28:44   作者:  
JavaScript的單例模式 (singleton in Javascript)
單例模式的基本結(jié)構(gòu):
復(fù)制代碼 代碼如下:

MyNamespace.Singleton = function() {
return {};
}();

比如:
復(fù)制代碼 代碼如下:

MyNamespace.Singleton = (function() {
return { // Public members.
publicAttribute1: true,
publicAttribute2: 10,
publicMethod1: function() {
...
},
publicMethod2: function(args) {
...
}
};
})();

但是,上面的Singleton在代碼一加載的時(shí)候就已經(jīng)建立了,怎么延遲加載呢?想象C#里怎么實(shí)現(xiàn)單例的:)采用下面這種模式:
復(fù)制代碼 代碼如下:

MyNamespace.Singleton = (function() {
function constructor() { // All of the normal singleton code goes here.
...
}
return {
getInstance: function() {
// Control code goes here.
}
}
})();

具體來(lái)說(shuō),把創(chuàng)建單例的代碼放到constructor里,在首次調(diào)用的時(shí)候再實(shí)例化:
完整的代碼如下:
復(fù)制代碼 代碼如下:

MyNamespace.Singleton = (function() {
var uniqueInstance; // Private attribute that holds the single instance.
function constructor() { // All of the normal singleton code goes here.
...
}
return {
getInstance: function() {
if(!uniqueInstance) { // Instantiate only if the instance doesn't exist.
uniqueInstance = constructor();
}
return uniqueInstance;
}
}
})();

相關(guān)文章

  • JavaScript中的面向?qū)ο蠼榻B

    JavaScript中的面向?qū)ο蠼榻B

    在JavaScript,可以說(shuō)everything is object,那么什么是對(duì)象?對(duì)象就是包含一組變量和函數(shù)的集合。在其它面向?qū)ο笳Z(yǔ)言中對(duì)象是由類(lèi)的實(shí)例化而來(lái),JavaScript是基于原型的面向?qū)ο笳Z(yǔ)言,沒(méi)有類(lèi)的概念,對(duì)象派生自現(xiàn)有對(duì)象的副本
    2012-06-06
  • 學(xué)習(xí)面向?qū)ο笾嫦驅(qū)ο蟮幕靖拍?對(duì)象和其他基本要素

    學(xué)習(xí)面向?qū)ο笾嫦驅(qū)ο蟮幕靖拍?對(duì)象和其他基本要素

    學(xué)習(xí)面向?qū)ο笾嫦驅(qū)ο蟮幕靖拍?對(duì)象和其他基本要素
    2010-11-11
  • Javascript 面向?qū)ο?命名空間

    Javascript 面向?qū)ο?命名空間

    作用主要為了防止類(lèi)名沖突,相同的類(lèi)名只要屬于不同的命名空間,便不會(huì)沖突。
    2010-05-05
  • JavaScript面向?qū)ο蟪绦蛟O(shè)計(jì)三 原型模式(上)

    JavaScript面向?qū)ο蟪绦蛟O(shè)計(jì)三 原型模式(上)

    在javaScript面向?qū)ο笤O(shè)計(jì)一和Javascript面向?qū)ο笤O(shè)計(jì)二中分別介紹了工廠模式和構(gòu)造函數(shù)模式,以及他們格式的優(yōu)缺點(diǎn),今天繼續(xù)講解原型模式
    2011-12-12
  • 最新評(píng)論