Maison > interface Web > js tutoriel > Différentes façons de modifier ce que cela pointe en JavaScript

Différentes façons de modifier ce que cela pointe en JavaScript

韦小宝
Libérer: 2018-03-14 14:44:57
original
2594 Les gens l'ont consulté

Cet article décrit différentes méthodes de modification du pointeur this en JavaScript Si vous ne savez pas comment modifier le pointeur this en JavaScript ou si vous souhaitez modifier le pointeur this en JavaScript, nous obtiendrons. levez-vous et lisez cet article. D'accord, arrêtons les bêtises et allons droit au but

Ceci en JavaScript est un sujet digne d'une discussion approfondie. Ce qui suit résume 3 méthodes courantes pour modifier le pointeur. de cela. Tout d’abord, clarifiez le concept de fonction : la fonction elle-même est un type particulier. Vous devez toujours comprendre qu’une fonction peut également être considérée comme une variable.

1. Utilisez la méthode objet pour définir une fonction (celui qui me lie, je le désignerai)

En termes simples, si cette fonction est une méthode (clé) d'un objet, alors celle-ci dans la fonction pointe vers cet objet.

var a = function(obj) 
{ 
    alert(this == obj); 
} 
var obj = {}; 
obj.fun = a; 
obj.fun(obj); //true
Copier après la connexion

Cette fonction est équivalente à une variable lorsqu'elle est liée à un objet, alors celle-ci pointe vers l'objet window par défaut Change en obj. objet.

2. La fonction est nouvelle et un nouvel objet est créé. Cela pointe vers le nouvel objet (quel que soit le nouveau que je désignerai)

var obj = new a();

Un nouvel objet est créé via cette instruction, et cela dans la fonction pointe vers obj.

3. Modifiez ceci pour pointer vers

1 : Méthode d'application

param1 : Le pointeur de ceci dans la fonction show
param2 : une collection []

Exemple : fonction appelée name.apply(param1, param2);

Revoyez la première méthode

var a = function(o) 
{ 
    alert(this == o); 
} 
var obj = {}; 
obj.fun = a; 
obj.fun(obj); //true
Copier après la connexion

Simple, appliquez simplement en une phrase

a.apply(obj,[obj]);
Copier après la connexion

2 appelez la méthode

param1 : Le pointeur de ceci dans la fonction show
param2 : Le deuxième paramètre commence par les paramètres réels de la fonction show
Exemple : Fonction appelée name.call(param1,param2,param3);

a.call(obj,obj);
Copier après la connexion


Exemple simple :

Ajouter des styles à plusieurs éléments via chaque fonction

function each(tagName, callback) {   
    var lists = document.getElementsByTagName(tagName);   
    for (var i = 0; i < lists.length; i++) {   
        callback.apply(lists[i]);   
    }   
}   
each("a", function () {   
    this.style.background = "#ccc";   
}
Copier après la connexion

Ce qui précède est tout le contenu de cet article , Si vous n'y savez pas encore grand-chose, vous pouvez facilement le maîtriser en implémentant davantage les deux côtés !

Recommandations associées :

Quatre modes de cette valeur dans JS

Quatre liaisons formes de ceci dans les fonctions javascript

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal