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

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

主站蜘蛛池模板: 成人国产在线24小时播放视频 | 国产成人啪精品午夜在线播放 | 91资源在线 | 国产综合视频在线观看 | 日本高清视频在线 | 国产大片黄在线观看 | 视色4se网站在线 | 91精品啪在线看国产网站 | 亚洲第一色图 | 国产高清一级毛片在线人 | 黄色小视频在线免费观看 | 伊人色综合网 | 四虎影视永久在线 yin56xyz | 4hu四虎永久地址 | 成人欧美在线观看 | 91在线播放网站 | 91社区在线观看 | 久中文字幕中文字幕亚洲无线 | 男人精品网站一区二区三区 | 精品综合一区二区三区 | 久久精品中文字幕 | 日本综合欧美一区二区三区 | 国产中文99视频在线观看 | 91高清在线视频 | 一区二区影视 | 亚洲一区二区三区高清视频 | 欧美激情区 | 精品成人免费播放国产片 | 天天爱天天做色综合 | 精品第一页 | 国产精品欧美亚洲 | 唐人社电亚洲一区二区三区 | 中文字幕在线亚洲 | 青青草91视频 | 毛片特黄| 爱搞逼综合网 | 日韩精品一区二区三区视频网 | 深爱五月激情五月 | 国产亚洲精品福利片 | 91精品免费视频 | 韩国毛片免费 |