Je vais supposer que fatRabbit
est censé être whiteRabbit
et que votre question est pourquoi vous ne voyez que Burp!
au lieu du tableau complet.
La raison est que apply
utilise le tableau pour appeler votre fonction avec arguments discrets, donc la première entrée apparaît comme le paramètre line
, et vous ne voyez pas les autres parce que vous n'avez pas de paramètres pour les .
Si vous voulez voir le tableau, utilisez call
plutôt que apply
; puis line
se reportera au tableau, et pas seulement la première entrée:
function speak(line) {
console.log(line);
}
var whiteRabbit = {type: "white", speak: speak};
speak.call(whiteRabbit, ["Burp!","Skree","Hello"]);
Alternativement, ajouter d'autres paramètres dans la méthode (speak(line1, line2, line3)
).
Dans un commentaire, vous avez demandé:
Pouvez-vous montrer comment rendre dynamique?
Si par « dynamique » vous voulez dire qu'il enregistre autant d'entrées qu'il obtient, j'utiliser call
(comme ci-dessus) et une boucle:
function speak(lines) {
lines.forEach(function(line) {
console.log(line);
});
}
var whiteRabbit = {type: "white", speak: speak};
speak.call(whiteRabbit, ["Burp!","Skree","Hello"]);
C'est à l'aide forEach
, mais you have lots of other options.
qu'est-ce que fatRabbit? – marvel308
désolé, il devrait être whiteRabbit .... comment puis-je corriger cela –