Call et apply semblent changer cela de manière dynamique. Lorsqu'un objet n'a pas une certaine méthode, mais que d'autres en ont, nous pouvons utiliser call ou apply pour fonctionner avec les méthodes d'autres objets. Dans cet article, nous partageons principalement avec vous l'utilisation simple de apply et call in js, dans l'espoir d'aider tout le monde.
call et apply sont deux méthodes de Function.prototype, qui sont implémentées en interne par le moteur JavaScript. Parce qu'elles appartiennent à Function.prototype, chaque instance d'objet Function, c'est-à-dire que chaque méthode a des attributs d'appel et d'application. .Comme ce sont des attributs de méthodes, leur utilisation est bien sûr spécifique aux méthodes. Ces deux méthodes se confondent facilement car elles ont la même fonction, mais elles sont simplement utilisées de différentes manières
De ce qui précède, on peut conclure <.> call, apply est utilisé pour les méthodes Afin de changer le pointeur this
call.
function A() { this.getName = function (xx) { return xx; } } function B() { } var a = new A(); console.log( a.getName('i am A') ); //i am A var b = new B() ; console.log( a.getName.call(b,'i am B') ); // i am B
apply
function A() { this.sun = function (a ,b) { return a+b; } } function B() { } var a = new A(); console.log( a.sun(1,2) ); //3 var b = new B() ; console.log( a.sun.call(b,2,2) ); // 4 console.log( a.sun.apply(b,[3, 3]) ); //6
Si utilisé plus fréquemment, sélectionnez via document.getElementsByTagName Le nœud dom est un type de tableau tableau. Il ne peut pas appliquer de méthodes push, pop et autres sous Array. On peut passer :
var domNodes = Array.prototype.slice.call(document.getElementsByTagName("*"));
pour que domNodes puisse appliquer toutes les méthodes sous Array.
Recommandations associées :
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!