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

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),轉載需保留來源!

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

主站蜘蛛池模板: 午夜久久久久久久久久一区二区 | 9999精品视频 | 欧美一级黄带 | 亚洲欧洲成人av每日更新 | 亚洲第一区国产精品 | 亚洲一区国产 | 中文字幕在线人 | 欧美一区二区三区在线免费观看 | 黄久久久 | 97国产精品 | 国产成人99久久亚洲综合精品 | 欧美激情a∨在线视频播放 成人免费共享视频 | 午夜免费成人 | 97caoporn国产免费人人 | 亚洲福利一区二区 | 1级毛片| 亚洲精品一区中文字幕乱码 | 亚洲精品国产成人 | 美女毛片 | 亚洲精品电影 | 亚洲成人午夜在线 | 亚洲高清电影 | 欧美激情第一区 | 国产一区二区久久 | 91影院在线观看 | 黄色网址免费在线观看 | 国产一区在线免费 | 色综合成人网 | 欧美日一区二区 | 亚洲精品视频在线看 | 极品在线 | 91xxx在线观看| 一级在线视频 | 992tv人人草 久久精品超碰 | 老司机精品福利视频 | 中文字幕日韩欧美一区二区三区 | 天堂男人av | 2022精品国偷自产免费观看 | 一区二区精品视频 | 精品视频一区二区三区在线观看 | 日本成人在线免费视频 |