手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >JavaScript的单例模式 (singleton in Javascript)
JavaScript的单例模式 (singleton in Javascript)
摘要:单例模式的基本结构:复制代码代码如下:MyNamespace.Singleton=function(){return{};}();比如:复制...

单例模式的基本结构:

复制代码 代码如下:

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的单例模式 (singleton in Javascript)】相关文章:

JavaScript正则表达式中的global属性的使用

介绍JavaScript中Math.abs()方法的使用

JavaScript中length属性的使用方法

详解JavaScript中setSeconds()方法的使用

Email地址加密javascript版

JavaScript实现自动变换表格边框颜色

JavaScript使用技巧精选

JavaScript中指定函数名称的相关方法

详解JavaScript中Date.UTC()方法的使用

JavaScript中Cookies的相关使用教程

精品推荐
分类导航