2016-11-24 6 views
-1

私は初心者のjavascriptです。プロトタイプを呼び出すための実際のパラメータと一緒に 'this'がパラメータとして使用されている理由を理解できません。提供されたイメージでは、その使用例を見ることができます。 なぜ 'this'をパラメータとして追加する必要があるのですか?それは何を正確にしていますか? Animalセットするようthisが、それはCat内を指し、同じものを指します、コール内Animalになるよう継承されたパラメータを参照する関数を宣言しているときに、なぜthisがjavascriptで使用されていますか?

'use strict'; 
function Animal(voice){ 
this.voice = voice || 'grunt' 
} 

Animal.prototype.speak = function(){ 
display(this.voice) 
} 

function Cat(name, color){ 
Animal.call(this, 'Meow') 
this.name = name 
this.color = color 
} 

Cat.prototype = Object.create(Animal.prototype) 

var Fluffy = new Cat('Fluffy', 'White') 

Fluffy.speak() 

enter image description here

+6

は、**コードの**写真を表示しません。コードを表示する。その他:meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-asking-a-question/285557#285557 –

+0

関数を呼び出す関数を呼び出すHTMLコードは、プロジェクトに最も関連性の高い方法で質問に答えるのに役立ちます:) – amyloula

+0

呼び出しと適用は、関数が呼び出された参照を渡す方法です。呼び出し参照を設定します –

答えて

4

この

Animal.call(this, 'Meow'); 

が...使用されていますその同じインスタンス上のインスタンスプロパティを上げます。 を実行したばかりで、Animalthis.voiceに書き込んだ場合、エラー(厳密モードの場合)またはvoice(緩やかなモードの場合)というグローバル変数を追加するとどちらも望ましい結果になりません。

より:

関連する問題