一区二区久久-一区二区三区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一区二这在线播放 | 色老板在线播放 | 国产精品一区二区四区 | 手机在线观看黄色网址 | 免费污视频在线观看 | 天天艹天天 | 伊人天伊人天天网综合视频 | 日本不卡一区 | 亚洲国内 | 2022年国产精品久久久久 | 婷婷激情在线 | 欧洲色综合 | 91成品视频| 视频二区在线观看 | 国产精品激情综合久久 | 欧洲视频一区 | 亚洲精品天堂自在久久77 | 激情文学小说区另类小说同性 | 久久噜噜噜久久亚洲va久 | 成人丝袜激情一区二区 | 91精品91久久久久久 | 日本欧美国产精品第一页久久 | 一区视频 | 国产精品福利影院 | 成人精品综合免费视频 | 国产精久久一区二区三区 | 91精品视频在线播放 | 日本欧美一区二区三区在线 | 色天天综合色天天碰 | 精品久久成人免费第三区 | 久久中精品中文 | 国产美女精品一区二区三区 | 日韩午夜| 国产午夜精品视频 | 91原创视频在线观看 | 99国产精品一区二区 | 久久性色 | 国产亚洲精品国产第一 | 欧美精品第56页在线视频观看 | 欧美在线性视频 | 激情五月婷婷小说 |