Heim Web-Frontend js-Tutorial Wohin zeigt dies in den ES6-Pfeilfunktionen?

Wohin zeigt dies in den ES6-Pfeilfunktionen?

Mar 17, 2018 pm 01:33 PM
this orientiert

Dieses Mal zeige ich Ihnen, wohin dies in der ES6-Pfeilfunktion führt und welche Vorsichtsmaßnahmen bei der Verwendung in der ES6-Pfeilfunktion gelten. Hier ist ein praktischer Fall, schauen wir uns das an.

Kurze Einführung: Dies in der Pfeilfunktion zeigt auf eine Funktion, die anders als die allgemeine Funktion definiert ist. Die Definition davon in der Pfeilfunktion: Dies in der Pfeilfunktion ist gebunden, wenn die Funktion . Anstatt beim Ausführen der Funktion zu binden.

(1) Im Allgemeinen wird die Funktion, auf die dies zeigt, während der Ausführung gebunden. Wenn obj.say() ausgeführt wird, zeigt dies auf das

-Objekt von obj.

var x=11;
var obj={
 x:22,
 say:function(){
 console.log(this.x)
 }
}
obj.say();
//console.log输出的是22
Nach dem Login kopieren
(2) Die sogenannte Bindung zum Definitionszeitpunkt bedeutet, dass dies vom übergeordneten Ausführungskontext geerbt wird! ! Dies, wie zum Beispiel this.x, repräsentiert hier tatsächlich window.x, daher ist die Ausgabe 11.

var x=11;
var obj={
 x:22,
 say:()=>{
 console.log(this.x);
 }
}
obj.say();
//输出的值为11
Nach dem Login kopieren
Ähnlich:

(3)

var a=11
function test1(){
 this.a=22;
 let b=function(){
 console.log(this.a);
 };
 b();
}
var x=new test1();
Nach dem Login kopieren
Ausgabe 11

Pfeilfunktionsfall:

var a=11;
function test2(){
 this.a=22;
 let b=()=>{console.log(this.a)}
 b();
}
var x=new test2();
//输出22
Nach dem Login kopieren
Es ist seltsam, nicht wahr? So verstehe ich es? Wenn ich die spezifische Bedeutung der Bindung in ES6 definiere, sollte dies im übergeordneten Ausführungskontext vererbt werden. ! ! Auf diese Weise werden viele unklare Richtungen in Pfeilfunktionen gelöst.

Hinweis: Einfache Objekte (Nichtfunktionen) haben keinen Ausführungskontext!

Eingehendes Verständnis dafür in der Pfeilfunktion

In der Pfeilfunktion liegt die Fixierung dieses Punktes nicht daran der internen Pfeilfunktion Es gibt einen Mechanismus, um dies zu binden. Der eigentliche Grund ist, dass die Pfeilfunktion überhaupt kein eigenes This hat, also ist das interne This das This des äußeren Codeblocks. Gerade weil es dies nicht hat, kann es nicht als

Konstruktor verwendet werden.

Wir können die Pfeilfunktionstransformation in ES5 simulieren:

// ES6
function foo() {
 setTimeout(() => {
 console.log('id:', this.id);
 }, 100);
}
// ES5
function foo() {
 var _this = this;
 setTimeout(function () {
 console.log('id:', _this.id);
 }, 100);
}
Nach dem Login kopieren
Wenn Sie also ein Objekt definieren, definieren Sie die Objekteigenschaften, und diese im Inneren zeigen normalerweise auf die globale Welt oder den Ort, an dem sich das Objekt befindet befindet sich dies in dieser Umgebung.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website !

Empfohlene Lektüre:

So ändern Sie den Status des Radios mit JS

So stellen Sie die Bootstrap-Tabelle auf den Höhenprozentsatz ein

Der Unterschied zwischen var foo = function () {} und function foo()

Das obige ist der detaillierte Inhalt vonWohin zeigt dies in den ES6-Pfeilfunktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ein Artikel, der diesen Punkt versteht und 70 % der Front-End-Leute erreicht Ein Artikel, der diesen Punkt versteht und 70 % der Front-End-Leute erreicht Sep 06, 2022 pm 05:03 PM

Ein Kollege blieb aufgrund eines Fehlers stecken, auf den dadurch hingewiesen wurde. Dieses Zeigeproblem führte dazu, dass eine Pfeilfunktion verwendet wurde, was dazu führte, dass die entsprechenden Requisiten nicht abgerufen werden konnten. Er wusste es nicht, als ich es ihm vorstellte, und dann habe ich mir bewusst die Front-End-Kommunikationsgruppe angesehen. Bisher verstehen es mindestens 70 % der Front-End-Programmierer nicht Sie diesen Link Wenn alles unklar ist Wenn Sie es noch nicht gelernt haben, geben Sie mir bitte eine große Klappe.

Lassen Sie uns darüber sprechen, warum Vue2 dadurch in verschiedenen Optionen auf Eigenschaften zugreifen kann Lassen Sie uns darüber sprechen, warum Vue2 dadurch in verschiedenen Optionen auf Eigenschaften zugreifen kann Dec 08, 2022 pm 08:22 PM

Dieser Artikel hilft Ihnen bei der Interpretation des Vue-Quellcodes und stellt vor, warum Sie damit in Vue2 auf Eigenschaften in verschiedenen Optionen zugreifen können. Ich hoffe, dass er für alle hilfreich ist!

So verwenden Sie diese Methode in Java So verwenden Sie diese Methode in Java Apr 18, 2023 pm 01:58 PM

1. Schlüsselwort this 1. Typ davon: Welches Objekt aufgerufen wird, ist der Referenztyp dieses Objekts 2. Zusammenfassung der Verwendung 1. this.data;//Zugriffsattribut 2. this.func();//Zugriffsmethode 3.this ( );//Andere Konstruktoren in dieser Klasse aufrufen 3. Erklärung der Verwendung 1.this.data wird in Mitgliedsmethoden verwendet. Lassen Sie uns sehen, was passiert, wenn dies nicht hinzugefügt wird classMyDate{publicintyear;publicintmonth;publicintday; intmonth,intday){ye

Clevere Möglichkeit, dieses Schlüsselwort in jQuery zu verwenden Clevere Möglichkeit, dieses Schlüsselwort in jQuery zu verwenden Feb 25, 2024 pm 04:09 PM

Flexible Verwendung dieses Schlüsselworts in jQuery In jQuery ist das Schlüsselwort this ein sehr wichtiges und flexibles Konzept. Es wird verwendet, um auf das aktuell manipulierte DOM-Element zu verweisen. Durch die rationale Verwendung dieses Schlüsselworts können wir Elemente auf der Seite einfach bedienen und verschiedene interaktive Effekte und Funktionen erzielen. In diesem Artikel werden spezifische Codebeispiele kombiniert, um die flexible Verwendung dieses Schlüsselworts in jQuery vorzustellen. Dieses einfache Beispiel Schauen wir uns zunächst ein einfaches Beispiel an. Angenommen, wir haben eine

Was ist das? Eine ausführliche Analyse dazu in JavaScript Was ist das? Eine ausführliche Analyse dazu in JavaScript Aug 04, 2022 pm 05:02 PM

Was ist das? Der folgende Artikel wird Ihnen dies in JavaScript vorstellen und auf die Unterschiede zwischen verschiedenen Aufrufmethoden von Funktionen eingehen. Ich hoffe, er wird Ihnen hilfreich sein!

Methoden zum Initialisieren dieser Referenz und Objektkonstruktion in Java Methoden zum Initialisieren dieser Referenz und Objektkonstruktion in Java May 14, 2023 pm 06:40 PM

1.Diese Referenz 1.1 Warum sollten wir diese Referenz haben? Schreiben wir zunächst ein Beispiel für eine Datumsklasse: publicclassclassCode{publicintyear;publicintmonth;publicintday;publicvoidsetDay(inty,intm,intd){year=y;month=m;day= d;}publicvoidprintDate (){System.out.println(year+"-"+month+"-"+day);}publicstatic

Detaillierte Erklärung hierzu in der JavaScript-Pfeilfunktion Detaillierte Erklärung hierzu in der JavaScript-Pfeilfunktion Jan 25, 2024 pm 01:41 PM

Die Pfeilfunktion in JavaScript ist eine relativ neue Syntax. Im Gegenteil, die Pfeilfunktion zeigt auf das Gültigkeitsbereichsobjekt, das sie enthält statisch; 2. Pfeilfunktionen können nicht als Konstruktoren verwendet werden; 3. Pfeilfunktionen können nicht als Methoden verwendet werden.

Wie ändert JavaScript diesen Zeiger? Kurze Analyse von drei Methoden Wie ändert JavaScript diesen Zeiger? Kurze Analyse von drei Methoden Sep 19, 2022 am 09:57 AM

Wie ändert JavaScript diesen Zeiger? Der folgende Artikel stellt Ihnen drei Möglichkeiten vor, dies in JS zu ändern. Ich hoffe, er wird Ihnen hilfreich sein!

See all articles