継承
メソッドの継承実装JS /連続は本当です
//依存:プロトタイプチェーンを
//基本的な考え方:参照型は、基準の別の種類のプロパティとメソッドを継承しています
詳細:構造と機能の関係、例えば、プロトタイプ。各コンストラクタは、プロトタイプオブジェクトを持って、プロトタイプオブジェクトは、コンストラクタへのポインタが含まれています
各インスタンスは、プロトタイプの内部ポインタが含まれています。我々はプロトタイプオブジェクトのインスタンスを作成する場合はタンニンの種類に等しいです。このとき、オブジェクトは、プロトタイプが含まれています
別のプロトタイプへの内部ポインタ。などなど。。。
デフォルトのプロトタイプ
すべての参照型はデフォルトのオブジェクトに継承されます。そして、これは達成するために、プロトタイプチェーンを通じて継承されます。
デフォルトの関数はオブジェクトのすべてのインスタンスのプロトタイプです
すべてのカスタムタイプがデフォルトの方法などtoString()を、継承されている理由はここにあります。
慎重に定義されたメソッド
ときに継承
メソッドのプロトタイプの試作品がブロックされますサブクラスのオーバーライド。しかし、これはプロトタイプの方法を変更しません
新しい方法で、プロトタイプやオリジナルのメソッド呼び出しを呼び出し、サブクラス
原型継承、リテラルのメソッドを使用していない、文字通りの方法は、プロトタイプチェーンを書き換えます
質問プロトタイプチェーン
1.値問題の参照タイプ
機能スーパータイプ()= { この .colorsは=「赤」、「青」] } 機能サブタイプ()= {} // スーパータイプ継承 @ 同時に、スーパークラスのインスタンスを作成する // この例では、スーパークラスと呼ばれていますコンストラクタは // こののと同時に、スーパークラスのコンストラクタと呼ばれる // SubType.prototype.colors = [「赤」、「ブルー」] SubType.prototype = 新新スーパータイプ() するvarインスタンス1 = 新しい新しいサブタイプ() // この時点では、プロトタイプの色と呼ばれる // 他の例に反応する一方で修正 instance1.colors.push(「黒」) VAR instance2で= 新しい新しいサブタイプを() instance2.color // 「赤、青、黒」
図2は、スーパータイプのコンストラクタのようなパラメータを渡すことはできません。インスタンスに影響を与えずには全くありません。パラメータを渡すためにスーパータイプのコンストラクタ
(シャローコピーを達成するための)原型継承
コンストラクタを作成する必要がない場合には、単に似たような状況を維持するために別のオブジェクトに1つのオブジェクトをさせることです。
ただし、プロパティの値は常に共有されている対応する値への参照を含みます。プロトタイプモデルと同様に、