を使用することができますなぜあなただけが表示されます完全配列の代わりにとなります。
理由はapply
が離散引数であなたの関数を呼び出すために、配列を使用するため、最初のエントリはline
パラメータとして表示され、あなたがそれらのパラメータを持っていないので、あなたが他の人を見ていないということです。
アレイを表示する場合は、apply
ではなくcall
を使用してください。方法(speak(line1, line2, line3)
)における複数のパラメータを追加、あるいは
function speak(line) {
console.log(line);
}
var whiteRabbit = {type: "white", speak: speak};
speak.call(whiteRabbit, ["Burp!","Skree","Hello"]);
:次いでline
は配列だけでなく、最初のエントリを参照します。コメントで
、あなたが求めてきました:
は、あなたはそれを動的に作成する方法を示しすることはできますか?
により「ダイナミック」あなたはそれを取得として、それはできるだけ多くのエントリをログに記録します意味、私はcall
(上記のように)、ループを使用したい場合は、次の使用だと
function speak(lines) {
lines.forEach(function(line) {
console.log(line);
});
}
var whiteRabbit = {type: "white", speak: speak};
speak.call(whiteRabbit, ["Burp!","Skree","Hello"]);
forEach
でも、you have lots of other optionsである。あなたも、コンテキストを変更したい場合は
["Burp!","Skree","Hello"].forEach(speak);
:あなたはウサギが次々と言葉を言わせてそれ以上のパラメータ
function speak(line, line2, line3) {
console.log(line, line2, line3);
}
var whiteRabbit = {type: "white", speak: speak};
speak.apply(whiteRabbit, ["Burp!","Skree","Hello"]);
fatRabbitとは何ですか? – marvel308
申し訳ありませんが、それはwhiteRabbitでなければなりません....どうすれば修正できますか? –