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

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

主站蜘蛛池模板: 午夜国产高清精品一区免费 | 丁香综合激情 | 久本草在线中文字幕亚洲欧美 | 美女网色| 国产成人精品s8p视频 | 亚洲图片欧美在线 | 婷婷亚洲天堂 | 日韩综合第一页 | 欧美日韩一区二区三区视频 | 激情网站网址 | 久久成人精品 | 婷婷综合国产激情在线 | 亚洲精品综合在线 | 色婷婷综合久久久久中文一区二区 | 狠狠大日本亚洲香蕉亚洲 | 欧美一欧美一区二三区性 | 日韩看片| 亚洲手机在线 | 国产精品亚洲片在线花蝴蝶 | www国产视频| 亚洲福利在线观看 | 精品久久久久免费极品大片 | 欧美色人 | 一区二区三区四区在线播放 | 国产成人精视频在线观看免费 | 精品国产一区二区三区不卡 | 91成品视频| 日本亚洲精品色婷婷在线影院 | 欧美激情视频在线观看一区二区三区 | 色老板免费在线观看 | 免费国产午夜高清在线视频 | 四虎永久在线观看视频精品 | 久久综合中文字幕一区二区三区 | 久久永久免费视频 | 欧美日韩亚洲成人 | 一色网| 久久精品国内一区二区三区 | 亚洲欧美一级视频 | 亚洲精品黄 | 五月婷婷六月合 | 久久久国产精品va麻豆 |