一区二区久久-一区二区三区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),轉載需保留來源!

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

主站蜘蛛池模板: 国产国语在线播放视频 | 亚洲色图偷 | 中文字幕久久精品 | 午夜精品一区二区三区在线观看 | 久久九九八八色偷偷 | 日韩午夜高清福利片在线观看 | 国产v精品成人免费视频71sao | 91精品国产亚一区二区三区 | 自啪| 人成精品 | 日韩在线播放中文字幕 | 色哟哟网站入口 | 看全大色黄大色黄大片一级爽 | 亚洲喷水 | 99伊人| 五月婷婷六月爱 | 国产伦精品一区二区三区女 | 午夜毛片福利 | 91在线视频在线观看 | 亚洲伊人激情 | 欧美在线网址 | 国产色视频一区二区三区 | 婷婷国产成人久久精品激情 | 欧美一区综合 | 99久久伊人 | 国产一区二区免费不卡在线播放 | 国产久热香蕉在线观看 | 国产精品系列在线观看 | 91麻豆国产免费观看 | 久久精品国产久金国产思思 | 国产男女视频在线观看 | 亚洲一区二区三区四区视频 | 国产精品综合色区在线观看 | 日韩 亚洲 中文 图片 小说 | 国产一区二区免费不卡在线播放 | 久久亚洲精品中文字幕二区 | 久久综合干 | 九九九免费视频 | 酒色婷婷| 99国产在线| 色婷婷综合欧美成人 |