一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

JavaScript的單例模式 (singleton in Javascript)

單例模式的基本結構:
復制代碼 代碼如下:
MyNamespace.Singleton = function() {
return {};
}();

比如:
復制代碼 代碼如下:
MyNamespace.Singleton = (function() {
return { // Public members.
publicAttribute1: true,
publicAttribute2: 10,
publicMethod1: function() {
...
},
publicMethod2: function(args) {
...
}
};
})();

但是,上面的Singleton在代碼一加載的時候就已經建立了,怎么延遲加載呢?想象C#里怎么實現單例的:)采用下面這種模式:
復制代碼 代碼如下:
MyNamespace.Singleton = (function() {
function constructor() { // All of the normal singleton code goes here.
...
}
return {
getInstance: function() {
// Control code goes here.
}
}
})();

具體來說,把創建單例的代碼放到constructor里,在首次調用的時候再實例化:
完整的代碼如下:
復制代碼 代碼如下:
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;
}
}
})();

JavaScript技術JavaScript的單例模式 (singleton in Javascript),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 精品一区二区三区四区在线 | 国内久久精品视频 | 国产91精品福利在线观看 | 中文字幕视频一区二区 | 精品国产乱码一区二区三区 | 四虎在线视频免费观看 | 久热爱精品视频在线观看久爱 | 特黄女一级毛片 | 久久精品国产夜色 | 亚洲第一色视频 | 久久中字 | 黄黄的网站在线观看 | 美女无遮挡免费视频 | 亚洲爱爱爱 | 色在线观看视频 | 国产精品久久久久久久久齐齐 | 69精品 | 国产一区二区在免费观看 | 91情侣在线偷精品国产 | 色偷偷尼玛图亚洲综合 | 综合激情婷婷 | 久久99国产精品亚洲 | 色多多免费视频观看区一区 | 国产中文99视频在线观看 | 91久久精品一区二区 | 国产网站免费视频 | 免费人成在线观看视频色 | 成人污视频在线观看 | 亚洲毛片视频 | 激情在线视频 | 久久一级视频 | 成人免费观看在线视频 | 国产精品欧美韩国日本久久 | 国产99视频精品草莓免视看 | 久久久91精品国产一区二区三区 | 影音先锋中文在线 | 91在线看片一区国产 | 午夜免费在线观看 | 狠狠色香婷婷久久亚洲精品 | 97视频在线观看视频在线精品 | 色噜噜狠狠狠综合曰曰曰88av |