Qu'est-ce que cela indique dans une fonction JavaScript ?
Aujourd'hui, je vais partager avec vous un point de connaissance important en JavaScript, celui-ci a une certaine valeur de référence et j'espère qu'il sera utile à l'apprentissage de chacun.
Nous sommes souvent confus lors de l'apprentissage du mot-clé this. Nous ne savons pas à quoi il fait référence dans la fonction et comment l'utiliser. Aujourd'hui, je vais vous présenter les détails à ce sujet dans l'article. .Connaissances
[Cours recommandés : Tutoriel JavaScript]
Contexte et this Mots-clés
En JavaScript, une fonction a son propre contexte d'exécution. Faites particulièrement attention ici au fait que le contexte d'exécution d'une fonction ne concerne pas la façon dont elle est déclarée, ni ce que fait la fonction, mais comment. pour l'appeler en code, nous l'utiliserons lors de l'appel de ce contexte d'exécution. Lorsqu'on y accède depuis une fonction, son contexte d'exécution est réellement accédé.
La méthode d'appel de la fonction est la même que celle-ci
Le contexte dépend de la méthode d'appel de la fonction On peut appeler la fonction du contexte en 4. de différentes manières, il existe donc également quatre types de ce Différents pointeurs
1. Un appel de fonction de base
2 Utiliser l'objet contextuel pour appeler la fonction, également appelé liaison implicite.
3. Utilisez call() ou appelez la fonction apply(), également appelée liaison explicite.
4. Liaison via la méthode bind()
Appel de fonction de base
L'appel de fonction de base est le moyen le plus simple d'appeler une fonction
Exemple :
<script type="text/javascript"> var name="张三"; function student(){ console.log(this.name); } student(); </script>
Dans cet exemple, on peut voir que student() appelle la fonction depuis la portée globale, donc ceci fait ici référence au global scope , donc le résultat de sortie est ""张三""
Liaison implicite
Quand une fonction est "contenue" par un objet, on dit que le this de la fonction est implicitement liée à cet objet
<script type="text/javascript"> var student={ name:"张三", obj:function(){ console.log(this.name) } } student.obj(); </script>
Bien que la fonction obj soit placée dans l'objet, elle ne sera pas utilisée car elle est définie à l'intérieur de l'objet différent. de l'extérieur, sous liaison implicite, obj peut toujours accéder à la propriété a dans l'objet étudiant via cette
Liaison explicite
peut utiliser call() ou apply() La méthode appelle une fonction, et son contexte d'exécution est explicitement lié à l'objet. call et apply peuvent changer cela pour pointer vers
Exemple : lorsque call () ou apply () n'est pas utilisé
<script type="text/javascript"> var name="张三"; var obj = { name:"李四", fun:function(){ console.log(this.name);}} obj.fun(); </script>
Utilisez call() pour faire valoir ce point dans la fenêtre
<script type="text/javascript"> var name="张三"; var obj = { name:"李四", fun:function(){ onsole.log(this.name);}} obj.fun.call(window); </script>
liaison bind()
bind() créera une fonction La valeur de cet objet dans le corps de la fonction sera liée à la valeur du premier paramètre passé dans bind(), mais bind(). ne sera pas exécuté. Fonction, renvoie uniquement une fonction qui peut être exécutée
<script type="text/javascript"> var a = { b : function(){ var func = function(){ console.log(this.c); } func.bind(this)(); }, c : 'Hello!' } a.b(); </script>
Pointez-la vers le contenu de l'objet c via la méthode bind.
Résumé : Ce qui précède est tout le contenu de cet article, nous pouvons voir que celui qui appelle ceci pointe vers qui globalement cela pointe vers la fenêtre ; les méthodes call(), apply() et bind() peuvent changer le pointeur de ceci.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Un collègue est resté bloqué à cause d'un bug signalé par ce problème de pointage de Vue2 qui a provoqué l'utilisation d'une fonction de flèche, entraînant l'impossibilité d'obtenir les accessoires correspondants. Il ne le savait pas quand je le lui ai présenté, puis j'ai délibérément regardé le groupe de communication front-end. Jusqu'à présent, au moins 70 % des programmeurs front-end ne le comprennent toujours pas. Aujourd'hui, je vais partager avec. vous ce lien. Si tout n'est pas clair Si vous ne l'avez pas encore appris, s'il vous plaît, faites-moi une grande gueule.

Cet article vous aidera à interpréter le code source de Vue et à vous expliquer pourquoi vous pouvez l'utiliser pour accéder aux propriétés de diverses options de Vue2. J'espère qu'il sera utile à tout le monde !

Utilisation flexible du mot-clé this dans jQuery Dans jQuery, le mot-clé this est un concept très important et flexible. Il est utilisé pour désigner l'élément DOM en cours de manipulation. En utilisant rationnellement ce mot-clé, nous pouvons facilement exploiter les éléments de la page et obtenir divers effets et fonctions interactifs. Cet article combinera des exemples de code spécifiques pour présenter l'utilisation flexible de ce mot-clé dans jQuery. Cet exemple simple Tout d'abord, regardons un exemple simple. Supposons que nous ayons un

Qu'est-ce que c'est? L'article suivant vous présentera cela en JavaScript et parlera des différences entre cela dans les différentes méthodes d'appel de fonctions. J'espère que cela vous sera utile !

1. ce mot-clé 1. Type de ceci : L'objet appelé est le type de référence de cet objet 2. Résumé de l'utilisation 1. this.data;//Attribut d'accès 2. this.func();//Méthode d'accès 3.this ( );//Appelez d'autres constructeurs de cette classe 3. Explication de l'utilisation 1.this.data est utilisé dans les méthodes membres. Voyons ce qui se passera si cela n'est pas ajouté classMyDate{publicintyear;publicintmonth;publicintday; intmois,intjour){oui

Comment JavaScript modifie-t-il ce pointeur ? L'article suivant vous présentera trois méthodes pour modifier ce pointeur dans JS. J'espère qu'il vous sera utile !

La fonction flèche en JavaScript est une syntaxe relativement nouvelle. Elle n'a pas son propre mot-clé this. Au contraire, le this de la fonction flèche pointe vers l'objet scope qui la contient. Les impacts sont : 1. Ceci dans la fonction flèche est. static ; 2. Les fonctions fléchées ne peuvent pas être utilisées comme constructeurs ; 3. Les fonctions fléchées ne peuvent pas être utilisées comme méthodes.

Le mot-clé this est l’un des mécanismes les plus complexes de JavaScript. Il s'agit d'un mot-clé très spécial qui est automatiquement défini dans le cadre de toutes les fonctions. Mais même les développeurs JavaScript très expérimentés ont du mal à dire exactement à quoi cela renvoie.
