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

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

主站蜘蛛池模板: 狠狠色伊人亚洲综合成人 | 欧美福利网站 | 黄视频在线观看网站 | 国产视频资源 | 久草色播 | 亚洲国产成人久久综合碰 | 色婷婷色综合 | 在线免费观看福利 | 视频免费1区二区三区 | 亚洲文学 | 国产大片好看免费播放 | 福利小视频在线播放 | 亚洲好色网 | 五月婷婷六月丁香 | 亚洲精品影视 | 国产精品久久一区二区三区 | 国语自产拍在线观看任你躁 | 免费看91视频 | 亚洲一级免费毛片 | 久热中文字幕在线精品免费 | 国产精品视频一区二区三区不卡 | 高清国产激情视频在线观看 | 久久免费视频3 | 欧美综合影院 | 久久久久久久久久免观看 | 中文字幕一二三四区 | 91伊人久久大香线蕉 | 精品日本一区二区三区在线观看 | 国产区在线观看视频 | 亚州激情 | 一本久久a久久精品亚洲 | 婷婷99精品国产97久久综合 | 亚洲第一夜| 精品一区二区三区视频在线观看免 | 国内精品国语自产拍在线观看91 | 337p欧美超大胆日本人术艺术 | 五月婷婷俺来也 | www.色.con| 五月婷婷久 | 亚洲精品第一 | 久久免费精品国产72精品剧情 |