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

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

主站蜘蛛池模板: 理论片 我不卡影院 | 亚洲欧洲综合 | 午夜在线视频观看版 | 免费观看成人欧美1314www | 色老板在线免费 | 日韩视频大全 | 久久99久久99精品 | 激情小说区 | 大jjjj免费看视频 | 国产网红在线观看 | 2022国产91精品久久久久久 | 欧美精品福利 | 欧美一级日韩一级亚洲一级 | 色婷婷天天综合在线 | 小视频在线观看免费 | 成人a毛片手机免费播放 | 国内精品久久久久影院不卡 | 伊人网站在线观看 | 一区二区三区免费视频播放器 | 国产色婷婷精品综合在线观看 | 精品国产高清不卡毛片 | 好吊操视频这里只有精品 | 黄色视品 | 在线观看91精品国产不卡免费 | 亚洲激情视频在线 | 亚洲午夜综合网 | 99精品视频在线观看免费 | 日本高清视频www | 精品精品久久宅男的天堂 | 五月开心六月伊人色婷婷 | 91精品麻豆 | 国产成人精品亚洲午夜麻豆 | 国产激情在线观看完整流畅 | 91视频最新| 亚洲精品69| 精品视频一区二区 | 久99视频 | 久热最新视频 | 伊人中文网 | 美女免费毛片 | 亚洲精品亚洲人成人网 |