Vous ne cesserez jamais d'être surpris par JavaScript. Dans cette astuce, je vais vous montrer comment utiliser les méthodes JavaScript., appel
et appliquer
, appeler vos fonctions d'autres objets. Je ne sais pas ce que je veux dire? Commençons!
Voici le scénario: nous avons deux objets:
var joe = name: "Joe", greet: fonction (name) alert (this.name + "dit bonjour à" + name); ; var jill = name: "Jill";
C'est assez simple de faire saluer Jill par Joe:
joe.greet ("Jill");
Mais comment pouvons-nous amener Jill à saluer Joe? Elle n'a pas de méthode de salutation (et supposons que nous ne pouvons pas / ne devrions pas / ne devrions pas lui en donner une). Bien, tout dans JavaScript, y compris les fonctions, est un objet, tout peut avoir une méthode ou une fonction pouvant être appelée à partir de celle-ci. On donne aux fonctions deux méthodes qui vous permettent de les appeler dans des contextes différents.
Le contexte d’une méthode est essentiellement l’objet qui sera ce
quand la fonction est appelée. Dans notre saluer
méthode, ce
se réfère à l'objet Joe
, parce que c'est ce dont il fait partie.
Maintenant, essayez ceci:
joe.greet.call (jill, "Joe");
le appel
La méthode sur les fonctions JavaScript vous permet de changer le contexte de la fonction. Le premier paramètre que nous passons sera le nouveau contexte: dans ce cas, c’est Jill
. Les paramètres suivants sont les paramètres de la fonction que vous appelez. Dans ce cas, «Joe» sera transmis à saluer
. Si vous exécutez cette opération, vous recevrez une boîte d'alerte avec le message «Jill dit bonjour à Joe».
Il y a aussi un appliquer
méthode; la seule différence est qu’il prend les paramètres de la méthode sous forme de tableau, plutôt que de paramètres bruts, à la appel
méthode.
joe.greet.call (jill, ["Joe"]);
Si vous avez du mal à vous rappeler si c'est appel
ou appliquer
qui prend le tableau, rappelez-vous que uneppl
et unerray les deux commencent par ”une.”
Merci d'avoir lu!