Maison  >  Article  >  interface Web  >  Que font les méthodes apply() et call() ?

Que font les méthodes apply() et call() ?

不言
不言avant
2019-03-25 14:14:412540parcourir

Le contenu de cet article concerne ce que font les méthodes apply() et call(). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Chaque fonction contient deux méthodes non héritées : apply() et call(). ;
Call et apply sont des méthodes de Function.prototype, donc chaque instance de fonction a des attributs call et apply
Function

La méthode call() et la méthode apply() ont le même effet ; : Changez ce pointeur.

La différence

La différence réside dans la façon dont ils reçoivent les paramètres :
call() : Le premier paramètre est que la valeur de ceci n'a pas changé, mais le reste les paramètres ont changé directement transmis à la fonction. Lors de l'utilisation de la méthode call(), les paramètres passés à la fonction doivent être listés un par un. Exemple : call(obj,a,b,c)
apply() : ce qui est transmis à la fonction est le tableau de paramètres. Exemple : apply(obj,[a,b,c])

Le code ci-dessus :

function add(c, d){ 
    return this.a + this.b + c + d; 
} 
var o = {a:1, b:3}; 
add.call(o, 5, 7); // 1 + 3 + 5 + 7 = 16  this指向o 
add.apply(o, [10, 20]); // 1 + 3 + 10 + 20 = 34  this指向o
Cet article est terminé ici, plus de mises à jour Pour d'autres passionnants contenu, vous pouvez faire attention à la colonne

Tutoriel vidéo JavaScript du site Web PHP chinois !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer