我正在尝试在 javascript 中模拟静态成员。
考虑这段代码:
// option A for static members:
// constructor...
function Person(name) {
this.firstName=name;
}
Person.count=0; // like a static member...
var p=new Person("Dan");
Person.count++;
alert(Person.count); // 1;
现在这个:
// option B for static members:
// constructor..
function Person(name) {
this.firstName=name;
Person.prototype.count++;
}
Person.prototype.count=0; // like a static member...
var p=new Person("Dan");
alert(Person.prototype.count); // 1;
// ...
所以,说这两者之间的主要区别是真的吗,在第二个例子中你可以从构造函数中引用静态成员(由于原型声明),而在第一个例子中你不能?