[英]JavaScript - What is a singleton class looks like?
我有2个对象:我想知道他们是否是辛格尔顿?
一种。
var OBJ = function () {
}
OBJ.prototype = {
setName : function (name) {
this.name = name;
},
getName : function () {
return this.name;
}
}
b。
var OBJ = {
setName : function (name) {
this.name = name;
},
getName : function () {
return this.name;
}
}
您可以通过创建两个类实例并进行比较来进行检查:
Print( a === b ); // prints: true
如果打印的true
类是singleton
或者,您可以为SingletonPattern尝试以下代码:
function MyClass() {
if ( arguments.callee._singletonInstance )
return arguments.callee._singletonInstance;
arguments.callee._singletonInstance = this;
this.Foo = function() {
// ...
}
}
var a = new MyClass()
var b = MyClass()
Print( a === b ); // prints: true
这将帮助您How to write a singleton class in javascript
function Cats() {
var names = [];
// Get the instance of the Cats class
// If there's none, instanciate one
var getInstance = function() {
if (!Cats.singletonInstance) {
Cats.singletonInstance = createInstance();
}
return Cats.singletonInstance;
}
// Create an instance of the Cats class
var createInstance = function() {
// Here, you return all public methods and variables
return {
add : function(name) {
names.push(name);
return this.names();
},
names : function() {
return names;
}
}
}
return getInstance();
}
有关http://www.javascriptkata.com/2009/09/30/how-to-write-a-singleton-class-in-javascript/的更多信息
也有可能重复Javascript:最佳的Singleton模式和在JavaScript中实现 Singleton的 最简单/最简洁的方法?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.