一区二区久久-一区二区三区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香蕉国产亚洲一区二区三区 | 九月丁香婷婷 | 久久久久久噜噜噜久久久精品 | 日韩二三区 | 婷婷99精品国产97久久综合 | 91aaa免费观看在线观看资源 | 久久精品a国产一级 | 色婷婷久久综合中文久久一本 | 永久免费品色堂 | 中国一级大黄大片 | 成人影院vs一区二区 | 欧美人体xxxx| 国产精品乱码一区二区三区 | 大学生一级毛片全黄真人 | 精品伊人久久久久7777人 | 亚洲精品综合 | 亚洲94vvv男人的天堂五月 | 成年ssswww网站 | 97久久免费视频 | 在线观看色视频 | 午夜激情在线 | 99精选视频 | 亚洲精品在线不卡 | 成 人 黄 色视频免费播放 | 国产成人自拍视频在线观看 | 国产在线观看99 | 久久91精品国产91久 | 四虎免费看黄 | 一本色道久久综合亚洲精品 | 色多多免费视频观看区一区 | 国产黄色片在线看 | 深夜啪啪网站 | 国产日韩三级 | 激情文学综合 | 国产精品免费精品自在线观看 | 国产亚洲一区二区三区啪 | 第一区免费在线观看 | 好吊妞视频988在线播放 | 国产成人福利免费视频 |