在Node.Js上创建“新”对象
这个问题在这里已经有了答案:
以此为例:
function SomeClass() {}
SomeClass.prototype = {
sayHi: function() {
console.log('hello');
}
};
function foo() {
return new SomeClass();
}
foo() // => returns a new SomeClass object
在这种情况下, foo
就是他们所说的“工厂”功能,因为它有点像创建对象的工厂类型(就像现实生活中工厂创建新对象,汽车工厂等一样)。 )
这对单身人士也是有益的:
(function() {
var singleton;
function SomeClass() {}
SomeClass.prototype = {
sayHi: function() {
console.log('hello');
}
};
function foo() {
singleton = singleton || new SomeClass();
return singleton;
}
window.foo = foo;
}());
foo(); // returns a new SomeClass
foo(); // returns the same SomeClass instance (not a new one). This is a singleton.
Node.js只是普通的JavaScript,所以在你给出的例子中,你所做的只是从模块中包含工厂并使用它来创建新对象(“类”的实例)。
如果不使用新关键字,则可能表示它们在需要时返回新对象。
链接地址: http://www.djcxy.com/p/40867.html