Maison interface Web js tutoriel Qu'est-ce que cela indique dans une fonction JavaScript ?

Qu'est-ce que cela indique dans une fonction JavaScript ?

Nov 27, 2018 am 10:46 AM
this

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>
Copier après la connexion

Image 1.jpg

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>
Copier après la connexion

Image 2.jpg

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>
Copier après la connexion

Image 3.jpg

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>
Copier après la connexion

Image 1.jpg


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 : &#39;Hello!&#39;
}
a.b();
	</script>
Copier après la connexion


Pointez-la vers le contenu de l'objet c via la méthode bind.

Image 4.jpg

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Un article qui comprend ce point et rattrape 70% des front-end Un article qui comprend ce point et rattrape 70% des front-end Sep 06, 2022 pm 05:03 PM

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.

Voyons pourquoi Vue2 peut accéder aux attributs dans diverses options via ceci Voyons pourquoi Vue2 peut accéder aux attributs dans diverses options via ceci Dec 08, 2022 pm 08:22 PM

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 !

Une manière intelligente d'utiliser ce mot-clé dans jQuery Une manière intelligente d'utiliser ce mot-clé dans jQuery Feb 25, 2024 pm 04:09 PM

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? Une analyse approfondie de cela en JavaScript Qu'est-ce que c'est? Une analyse approfondie de cela en JavaScript Aug 04, 2022 pm 05:02 PM

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 !

Comment utiliser cette méthode en Java Comment utiliser cette méthode en Java Apr 18, 2023 pm 01:58 PM

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 ? Brève analyse de trois méthodes Comment JavaScript modifie-t-il ce pointeur ? Brève analyse de trois méthodes Sep 19, 2022 am 09:57 AM

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 !

Explication détaillée de ceci dans la fonction flèche JavaScript Explication détaillée de ceci dans la fonction flèche JavaScript Jan 25, 2024 pm 01:41 PM

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.

Permettez-moi d'expliquer en détail les quatre règles contraignantes de ce Permettez-moi d'expliquer en détail les quatre règles contraignantes de ce Nov 01, 2022 pm 05:49 PM

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.

See all articles