手机
当前位置:查字典教程网 >编程开发 >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正则表达式的分组匹配详解

JavaScript中Cookies的相关使用教程

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

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

编写高质量JavaScript代码的基本要点

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

JavaScript数据结构与算法之集合(Set)

详解JavaScript中void语句的使用

JavaScript使用技巧精选

JavaScript中String.prototype用法

精品推荐
分类导航