Dans JS, ce pointage doit être un problème difficile pour les novices, mais si vous le comprenez vraiment, il n'y aura pas de problème. Parlons-en ci-dessous.
Dans JS, la valeur de cela dépend du modèle de l'appel (l'objet d'appel), et il existe 4 types de modèles d'appel dans JS:
1. Mode d'appel de fonction
Lorsqu'une fonction n'est pas la propriété d'un objet, elle est appelée en fonction deux fois. Pour le moment, cela dans la fonction pointe vers l'objet global (en cas de gros logarithme, c'est la fenêtre)
window.value = 1; function getValue () {console.log (this.value);} getValue (); // output 1, ce point vers la fenêtre2. Mode d'appel de méthode
Lorsqu'une fonction est la propriété d'un objet, nous l'appelons une méthode de l'objet. Lorsqu'une méthode est appelée, cela pointe vers l'objet
var obj = {valeur: 2, getValue: function () {console.log (this.value); // output 2, cela pointe vers obj}}! ! ! Dans ce mode, la liaison de ceci à l'objet se produit lorsque la méthode est appelée
3. Mode d'appel constructeur
La fonction appelée avec new est appelée la fonction du constructeur. Pour le moment, cela pointe vers l'objet qui vient de l'instance de fonction du constructeur
fonction main (val) {this.value = val;} main.prototype.getValue = function () {console.log (this.value);} var fun = new Main (3); fun.getValue (); fun.value; // output 3, cela indique l'objet d'instance Fun Fun4. Mode d'appel appliquer / appeler et lier
Les méthodes d'application, d'appel et de liaison nous permettent de définir qui cela dans l'appelant pointe vers
fonction showValue () {console.log (this.value);} var obj = {value: 4} showValue.call (obj) // output 4, cela pointe vers l'objet OBJUne nouvelle méthode de liaison a été ajoutée dans ECMA5. Vous pouvez rechercher sur Google l'utilisation spécifique. Voici une démonstration de l'utilisation de cette liaison.
fonction showValue () {console.log (this.value);} var obj = {value: 4} var showValue2 = showValue.bind (obj); showValue2 () // output 4, cela pointe vers l'objet OBJIl existe de nombreuses utilisations de liaison, vous pouvez le vérifier par vous-même
Le cliché ci-dessus en parle dans JS est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.