回転:javascriptの構造関数
1063 ワード
Javascriptでは、newキーワードでオブジェクトを作成するには、次の3つのステップが実行されています.
1.新しい一般オブジェクトを作成します.
2.メソッドオブジェクトのprototype属性のすべての属性を新たな一般オブジェクトにコピーします.
3.新しい一般オブジェクトをコンテキストとして、方法オブジェクトを実行します.
javascriptでは、newオペレータを介して関数として機能しますが、実質的にはこのような動作が発生します.
まず、空のオブジェクトを作成して、関数のapplyメソッドを呼び出して、この空のオブジェクトをappyの最初のパラメータとして伝えます.すると、関数内部のthisはこの空のオブジェクトに置き換えられます.
1.新しい一般オブジェクトを作成します.
2.メソッドオブジェクトのprototype属性のすべての属性を新たな一般オブジェクトにコピーします.
3.新しい一般オブジェクトをコンテキストとして、方法オブジェクトを実行します.
function Car(nPrice){
this.price = nPrice;
}
Car.prototype.doors = 4;
var car = new Car(2000);
これは
var car = new Object();// Object
car.doors = Car.prototype.doors;// prototype
car.price = 2000;// , car this
------------------------1月26日補充----------------------------------------------------------------------------javascriptでは、newオペレータを介して関数として機能しますが、実質的にはこのような動作が発生します.
まず、空のオブジェクトを作成して、関数のapplyメソッドを呼び出して、この空のオブジェクトをappyの最初のパラメータとして伝えます.すると、関数内部のthisはこの空のオブジェクトに置き換えられます.
var triangle = new Shape("triangle");
に相当する
var triangle = {};
Shape.apply(triangle, ["triangle"]);