私はここにこのコードを持っています:
var Person = (function() {
var name;
var PersonConstructor = function(n) {
name = n;
};
PersonConstructor.prototype.getName = function() {
return name;
};
return PersonConstructor;
})();
var people = [];
var person1 = new Person("Foo");
var person2 = new Person("Bar");
alert(person1.getName()); // I want it to be Foo
people.push(person1);
people.push(person2);
ここからクラスをエミュレートするというアイデアを思いつきました。。var name;
しかしもちろん、私はプライベート変数も静的変数であるという事実を無視しました。これは私の現在の努力を損なうので、この例でプライベートな振る舞いを維持する方法があるかどうか知りたいのですが、静的な振る舞いを避けますか?