JS のある種の継承で修正すべき問題があります。
私は説明するために小さなjsfiddleを設定しました。
V1 http://jsfiddle.net/FFTj4/5/
function Vehicule(name) ...
ここでの結果は期待どおりではありませんが、簡単に説明できます。名前が設定されている「呼び出し」オブジェクトに関数のスコープを適用して、親コンストラクターを呼び出しています。これまでのところ、車とスポーツカーの名前は車両プロトタイプに設定されていないため、名前を尋ねて車両名に上がると未定義です。
私はそれを修正しました:
V2 (jsfiddle の v2 セクションのコメントを外します) さて、getName 呼び出しを「スコープ」して、自分の「名前」を確実に取得できるようにします。私はそれが修正された!だから私はSportCarにも修正を適用しました
V3 (jsfiddle の v3 セクションのコメントを外してください) それほど簡単ではありませんでした。今、私は SportCar call Car getName をロックしていますが、車は SportCar にスコープされているため、車が Vehicule getName を呼び出そうとすると、代わりに SPortCar getName を呼び出し、など、最大呼び出しスタック サイズを超えました。
apply で呼び出された場合でも、現在のオブジェクト superClass を呼び出して、もちろん最上位のオブジェクトのスコープを維持できるようにする方法を考え出す必要があります:/
私はアイデアを使い果たしました.2週間近くこれに取り組んでいます。
ありがとうございました !