0
function Person() {}
Person.prototype.population = 0;
Person.prototype.constructor = function(name) {
    this.name = name;
    console.log("Name: " + this.name);
    console.log("Population: " + (++this.population) );
}

var p = new Person("Wex");

次のコードは機能していないようですが、論理的には健全に思えます。なぜこれは名前と人口を表示しないのですか?

4

2 に答える 2

3

http://jsfiddle.net/zerkms/gvjEF/

var Person = function(name) {
    this.name = name;
    console.log("Name: " + this.name);
    console.log("Population: " + (++Person.population) );
};
Person.population = 0;

var p = new Person("Wex");
var p = new Person("Wex");

必要な静的クラス変数が必要な限り:

  1. 次のように定義しますclassname.varname
  2. this </li> ではなく、クラス名を使用して使用してください
于 2012-06-15T00:14:46.433 に答える
0

これを試して:

function Person() {}
Person.staticProperty = "foo";
var obj = new Person();

staticProperty は、関数である Person オブジェクトで定義されています。

于 2012-06-15T00:15:02.193 に答える