-2

私はこのコードを持っています:

function a() { this.j = "aa"; }
var b = { o:2 };
b.prototype = new a();
alert(b.j); //alert "undefined"

未定義になるのはなぜですか?

4

2 に答える 2

2
function a() {this.j="aa";}
function b() {this.o=2;}
b.prototype=new a();
b.prototype.constructor=b;

var c = new b();

alert(c.j);
于 2012-11-13T13:33:26.567 に答える
0

"b" を関数に変換します。

function B() {
  this.o = 2;
}

次に、プロトタイプを作成します。

B.prototype = new a();

次に、「b」を作成します。

var b = new B();

次に、アラートが報告する内容を確認します。

于 2012-11-13T13:32:05.707 に答える