天天躁日日躁狠狠躁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.
}
}
})();

具體來(lái)說(shuō),把創(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)載需保留來(lái)源!

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

主站蜘蛛池模板: 国产亚洲精品久久久久 | 久久久精品国产免费A片胖妇女 | 久久超碰国产精品最新 | 亚洲精品成人在线 | 日本无码人妻精品一区二区视频 | 第一会所欧美无码原创 | 日韩欧美一区二区三区免费观看 | 厕所RXXX| 国产99九九久久无码熟妇 | 3D漫画H精品啪啪无码 | 岛国大片在线观看免费版 | 免费精品美女久久久久久久久 | 超碰在线视频caoporn | 穿白丝袜边走边尿白丝袜 | 区一区二视频免费观看 | 免费精品国产日韩热久久 | 亚洲日本欧美日韩高观看 | 色呦呦导航 | 少妇精油按摩 | 欧美精品专区第1页 | 亚洲精品高清视频 | 99视频导航 | 五月丁香啪啪. | 超碰国产人人做人人爽 | 人体内射精一区二区三区 | 高h肉文合集 | 99久久精品一区二区三区 | 高清国产激情视频在线观看 | 网红主播 国产精品 开放90后 | 一个人免费完整观看日本 | 果冻传媒在线观看进入窗口 | 好大好硬好湿再深一点网站 | 99久久精品国产交换 | 羞羞答答影院在线 | 午夜福利合集1000在线 | 国产 高清 无码 中文 | 国内精品人妻无码久久久影院蜜桃 | 久久精品中文闷骚内射 | 99精品视频| 高h肉肉乳共妻 | 日本xxx在线观看免费播放 |