我正在阅读Douglas Crockford编写的一些代码。他使用下面的结构来创建对象。创建对象的方法只适用于单例对象吗?
var obj = (function(){
var x, y, z; // These are private fields
// This is private method
function func1() {
}
return {
// This is public method
init : function() {
}
};
}());
我喜欢这种方式,而不是像下面的构造函数。
function Obj() {
// Uses __ to denote private
this.__x = 0;
this.__y = 0;
this.__z = 0;
// Private method
this.__func1 = function() {
};
// Public method
this.init = function() {
}
}
var obj = new Obj();
我不喜欢的构造函数方法需要使用__表示为私有字段或方法(这并不真正使外地私营),你需要使用该关键字访问任何领域或方法。我喜欢第一种方法,但我不知道如何使用它定义多个对象。
我们可以在第一个方法中定义多个对象还是只能用于创建单例对象?
您的意思是多个对象,因为在许多obj实例中? – adriaanp
@adriaanp是的我的意思是多个实例 – Cracker