1

Javascript クラスに、最初に追加され、プロトタイプで使用できるプロパティがほとんどない場合、新しいプロパティまたは関数がクラスに追加された場合、既存および新しく作成されたすべての関数にどのようにアクセスできますか。このクラスは誰でもすぐに利用できるわけではないことに注意してください。

function Foo(){
    this.name="";
    this.place="";
}

House.js私が使用してい たFoo.prototype=House();

college.js私が使用してい たFoo.prototype = College();

現在、この Foo() は次のように変更されています

function Foo(){
    this.name="";
    this.place="";
    var books=function Books(){...some implementaion};
}

House.booksクラスの変更前後でどうなるか。

4

1 に答える 1

0

さて、まず第一に:

Foo.prototype = House();
Foo.prototype = College();

それはうまくいきません。大学のプロトタイプは家のプロトタイプに置き換わるため、最初の割り当ては効果がありません。

コンストラクター関数内でローカル変数を作成すると、その関数内でのみ使用できるようになります。私はあなたが意味すると思います:

function Foo(){

  this.name="";
  this.place="";

  this.books=function Books(){...some implementaion};
}

これにより、オブジェクトのすべてのインスタンスにプロパティが追加booksされるため、プロトタイプに同じ名前のプロパティがある場合でも、プロトタイプに何を入れても使用できます。

于 2013-04-29T11:11:25.853 に答える