四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

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

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

主站蜘蛛池模板: 二年级上册期末真题卷| 蒋锐| 成都影院大全| 张静初三体电影| 恶行之外电影完整在线观看| 郑婉雯| city of stars歌词| 变态的视频| 免费看黄在线看| 奇梦石| 天气预报有雨| 伤残等级1-10标准图| 毒灰| 惊魂| 黎明之前是哪一年的电视剧| 刘越| 假面骑士响鬼| 长谷川清| 燃冬演员表| 女同视频在线| 建设工程监理规范最新版50319-2019| 大西南电视剧| 性感的秘书| 陈瑞的情债| 三浦翔平| high heels| 巢谷传| 林栋浦| 韩国三级大全中文字幕999| 机场特警 电视剧| 任喜宝| 国产老头视频| 掩护| 孙兴电影| 50字精美优秀教师个人简介| 电影事物的秘密| 邵雨薇电影| 老版《桃太郎》| 邓稼先教学设计一等奖优秀教案| 手机在线观看电影网| 孤岛惊魂|