Points de base
this
Dans JavaScript, se réfère généralement à un objet qui "possède" la méthode, mais cela dépend de la façon dont la fonction est appelée. this
fait référence à l'objet global. Dans un navigateur Web, il est représenté par window
. this
garde l'objet global; mais lors de l'appel du constructeur d'objets ou de l'une de ses méthodes, this
se réfère à une instance de l'objet. call()
en utilisant des méthodes telles que apply()
, bind()
et this
. Ces méthodes appellent la fonction à l'aide de la valeur et des paramètres donnés this
. JavaScript est un excellent langage de programmation. Cette phrase a peut-être été controversée il y a quelques années, mais les développeurs ont redécouvert sa beauté et son élégance. Si vous n'aimez pas JavaScript, cela peut être parce que:
this
Les mots clés sont l'un des concepts les plus déroutants. Dans la plupart des langues, this
est une référence à l'objet actuel qui instancie. Dans JavaScript, this
se réfère généralement à un objet qui "possède" la méthode, mais cela dépend de la façon dont la fonction est appelée.
Scope globale
S'il n'y a pas d'objet actuel, this
fait référence à l'objet global. Dans un navigateur Web, il s'agit d'un objet de haut niveau qui représente des documents, des emplacements, l'historique et d'autres propriétés et méthodes utiles. window
window.WhoAmI = "我是 window 对象"; alert(window.WhoAmI); alert(this.WhoAmI); // 我是 window 对象 alert(window === this); // true
Appelant la fonction
Si vous appelez une fonction, Gardez l'objet global: this
window.WhoAmI = "我是 window 对象"; function TestThis() { alert(this.WhoAmI); // 我是 window 对象 alert(window === this); // true } TestThis();
APPELER LA MÉTHODE DE L'OBJET
Lors de l'appel d'un constructeur d'objets ou de l'une de ses méthodes, fait référence à une instance d'un objet - tout comme tout langage basé sur la classe: this
window.WhoAmI = "我是 window 对象"; function Test() { this.WhoAmI = "我是 Test 对象"; this.Check1 = function() { alert(this.WhoAmI); // 我是 Test 对象 }; } Test.prototype.Check2 = function() { alert(this.WhoAmI); // 我是 Test 对象 }; var t = new Test(); t.Check1(); t.Check2();
Utiliser ou call
apply
Essentiellement,
Exécuter JavaScript fonctionne comme s'il s'agissait de la méthode d'un autre objet. Un exemple simple peut être expliqué davantage: call
apply
function SetType(type) { this.WhoAmI = "我是 " + type + " 对象"; } var newObject = {}; SetType.call(newObject, "newObject"); alert(newObject.WhoAmI); // 我是 newObject 对象 var new2 = {}; SetType.apply(new2, ["new2"]); alert(new2.WhoAmI); // 我是 new2 对象
peut passer un tableau de paramètres. Ceci est la brève description de call
! Cependant, il y a des choses à savoir qui peuvent vous causer des ennuis. Nous en discuterons dans mon prochain article… apply
this
dans javascript dans JavaScript est un mot-clé spécial qui fait référence au contexte de la fonction d'appel. Il s'agit d'une référence à l'objet auquel appartient la fonction. La valeur de changera en fonction de son contexte d'utilisation. Dans une méthode, fait référence à l'élément HTML qui reçoit l'événement. Cela vous permet d'accéder et de manipuler l'élément directement dans la fonction d'événement. Par exemple, si vous avez un bouton avec l'événement différemment de la fonction normale. Dans la fonction de flèche, fait toujours référence à une instance de la classe actuelle. Cependant, dans JavaScript, la valeur de en utilisant des méthodes telles que , En mode strict, la valeur de Oui, Les objets globaux en JavaScript varient selon l'environnement. Dans un navigateur Web, l'objet global est un objet this
Quels sont les mots clés en JavaScript? Pourquoi est-ce important?
Le mot-clé this
this
dépend de la façon dont la fonction est appelée. Il est important car il vous permet d'accéder aux propriétés et aux méthodes des objets dans les fonctions, ce qui rend votre code plus flexible et réutilisable. this
Comment fonctionnent les mots clés dans différents contextes?
this
La valeur de this
fait référence à l'objet propriétaire. Lorsqu'il est utilisé seul, this
se réfère à un objet global. Dans une fonction, this
fait référence à un objet global. Dans un événement, this
fait référence à l'élément qui reçoit l'événement. this
fonctionne dans les gestionnaires d'événements?
Dans un gestionnaire d'événements, this
this
, onclick
dans la fonction onclick
fera référence à l'élément de bouton. this
Comment se comporte-t-il dans les fonctions Arrow?
La fonction de flèche gère this
this
est lié à la lexicale. Cela signifie qu'il utilise this
dans le code contenant la fonction de flèche. Par conséquent, pour les fonctions de flèche, this
maintient la valeur de this
qui enferme le contexte lexical. this
dans JavaScript et
Dans de nombreux langages de programmation orientés objet, this
dans d'autres langages de programmation? this
this
est déterminée par le contexte d'exécution et la façon dont la fonction est appelée, plutôt que par l'emplacement de définition de la fonction. this
dans une fonction?
Vous pouvez modifier le contexte de this
call()
, apply()
et bind()
. Les méthodes this
et call()
appellent la fonction en utilisant la valeur et les paramètres donnés apply()
. La différence entre les deux est que this
accepte une liste de paramètres, tandis que call()
accepte un seul tableau de paramètres. La méthode apply()
renvoie une nouvelle fonction qui vous permet de lier la fonction à un objet spécifique. bind()
Quelle est la valeur de
fait référence à l'objet nouvellement créé. Lorsque vous créez une instance d'un objet utilisant le mot-clé this
Dans le constructeur, this
est automatiquement défini sur le nouvel objet. new
this
Comment vous comportez-vous en mode strict? this
reste à la valeur définie lors de la saisie du contexte d'exécution. S'il n'est pas défini, il reste non défini. Ceci est différent du mode non strict, où this
par défaut est des objets globaux si non définis.
this
peut-il être nul ou indéfini? this
peut être nul ou indéfini, surtout lorsque vous appelez une fonction en mode strict ou en utilisant call()
ou apply()
avec un non-défini ou nul comme premier argument. Quels sont les objets globaux de JavaScript?
window
. Dans Node.js, un objet global est un objet global littéral. Lorsque this
est utilisé en dehors de toute fonction ou méthode, il fait référence à un objet global.
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!