中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

JavaScript的單例模式 (singleton in Javascript)

單例模式的基本結(jié)構(gòu):
復(fù)制代碼 代碼如下:
MyNamespace.Singleton = function() {
return {};
}();

比如:
復(fù)制代碼 代碼如下:
MyNamespace.Singleton = (function() {
return { // Public members.
publicAttribute1: true,
publicAttribute2: 10,
publicMethod1: function() {
...
},
publicMethod2: function(args) {
...
}
};
})();

但是,上面的Singleton在代碼一加載的時(shí)候就已經(jīng)建立了,怎么延遲加載呢?想象C#里怎么實(shí)現(xiàn)單例的:)采用下面這種模式:
復(fù)制代碼 代碼如下:
MyNamespace.Singleton = (function() {
function constructor() { // All of the normal singleton code goes here.
...
}
return {
getInstance: function() {
// Control code goes here.
}
}
})();

具體來說,把創(chuàng)建單例的代碼放到constructor里,在首次調(diào)用的時(shí)候再實(shí)例化:
完整的代碼如下:
復(fù)制代碼 代碼如下:
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技術(shù)JavaScript的單例模式 (singleton in Javascript),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产精品久久久久久吹潮日韩动画 | 日韩黄色av | 一区二区三区欧美 | 日本精a在线观看 | 在线观看www高清视频 | 亚洲成人免费视频 | 三级高清 | 成人av免费在线观看 | 亚洲精品综合一区二区 | 国产精品视频免费观看 | 天天澡天天操 | 亚洲一区二区不卡在线观看 | 一区二区三区视频在线免费观看 | 国产不卡一区在线观看 | 亚洲精品1区 | 成年免费大片黄在线观看岛国 | 日韩久久久久久 | 国产精品久久久久久婷婷天堂 | 成人性视频免费网站 | 国产欧美精品一区 | 国产综合久久 | 欧美三区视频 | 亚洲一区视频在线 | 国产乱码一区 | 天天干 夜夜操 | 久久精品国产一区二区电影 | 在线国产视频观看 | 精品一区二区三区91 | 天天玩天天干天天操 | 欧美做暖暖视频 | 一区二区成人 | 成人在线观看免费爱爱 | 精品乱码一区二区三四区 | 特黄色一级毛片 | 久久国产精品视频 | 狠狠久 | 免费一级黄色录像 | 一级黄色绿像片 | 国产精品a久久久久 | www.99精品| 精品视频在线播放 |