オブジェクトを作成します。
new演算子:1.オブジェクトは、これは暗黙の空の戻りにバインドされている別のオブジェクト4に、この主題を空に空のオブジェクトを作成します。3.自動的に機能を実行します
プロトタイプチェーン:チェーンは、限られた長さ(nullにエンドポイント)から、目的とします
VAR OBJ =新しいオブジェクト();
VARタブ=関数(){}
VaRのTAB1は=新しいタブ();
1. Accessオブジェクトのプロトタイプ:OBJ .__ proto__
2.アクセスプロトタイプコンストラクタ:Tab.prototype
第三原型链:tab1の.__ proto__(tab1のため、.__ __).__ proto__((tab1のため、.__ __).__ proto__).__ proto__【Tab.prototypeオブジェクトはnull】
4.プロトタイプチェーンの終わりである:ヌル(驚くことではないであろう)
型コンストラクタの決定:
tab1.__proto__.constructor.name //タブ
tab1.__proto__.__proto__.constructor.name //オブジェクト
tab1の.__プロト__.__ proto__ .__ proto__ //ヌルのObject.prototype .__ proto__ == nullを
Factoryパターン:オブジェクトの生産と同じ製品、機能は、オブジェクトを返します
機能createObj(名前、年齢){
VAR OBJ =新しいオブジェクト();
obj.name =名前;
obj.age =年齢;
OBJ返します。
}
コンストラクタモード:
方法:VAR OBJ =新しいオブジェクト(); //ビルドネイティブオブジェクト
方法2:
機能製品(名前){
// VAR OBJ =新しいオブジェクト();暗黙的に空のオブジェクトを作成し、このオブジェクトは空にバインドされています
this.nameは名称。
this.num = 0;
//これを返します。この暗黙のリターン
}。
Product.prototype.add =関数(){// Product.prototypeは、公共空間を作成します
this.num ++;
console.log(this.num)。
}。
// Product.prototypeオブジェクトは、デフォルトでは1つの属性のみコンストラクタであり、あなたがオブジェクトに新しいプロパティを追加することができます
真Product.prototype.constructor ===製品// 任意のオブジェクトのは、そのコンストラクタを持って、任意の関数のプロトタイプは、オブジェクトであります
//取得プロトタイプコンストラクタ:Product.prototype。
VaRのPROD1は、新しい製品を()=;
VaRのPROD2は、新しい製品を()=;
//のObject.prototype .__ proto_ ===ヌル
//クラスの継承、day03に---既存のクラスに基づいて新しいクラス(データ構造を共有するためのクラス・メカニズム)を定義
継承定義コンストラクタ関数プロトタイプの性質および構成に定義されたメソッド--->プロパティおよびメソッド://クラスの継承は、二つの部分を含みます
// モデル化し、新たなオペレータ ---- myNew 機能を
機能myNew(コンストラクタ、...引数){ - >パラメータ:コンストラクタのパラメータと
} {= OBJましょう。
constructor.call(OBJ、...引数);
OBJ .__ proto__ = constructor.prototype。
OBJ返します。
}