DasSchauen wir uns wie üblich zuerst den Code an: VerfahrenFunktionstest () { konsole.log(dies); } Im ObjektPerson={ Name: „Zhang San“, essen:Funktion(){ console.log(dies) } } In einer Methode bezieht sich dies auf das Objekt, zu dem die Methode gehört. Da es sich bei der ersten um eine Methode im Fenster handelt, wird das Fenster gedruckt, und die Eat-Methode ist eine Person-Methode, sodass das Objekt Person gedruckt wird. Man kann also erkennen, dass die alleinige Verwendung von „this“ in der Konsole das globale Objekt darstellt. Versteckt diesIn Objekten können Sie diese vorab einzeln deklarieren: var Person1 = { Name: „Zhang San“, Alter:18 } var Person2 = { Name:"Li Si", Alter:19 } Das wäre sehr mühsam zu schreiben, Sie können also wie folgt das Konzept der Java-Klassen lernen: var Person = Funktion (Name, Alter) { dieser.name=Name, this.age=Alter } var Person1=new Person("Person",18); var Person2=neue Person("Li Si",19); Tatsächlich ist in new ein return this versteckt. Wenn Sie new nicht verwenden, werden Sie feststellen, dass das neu erstellte Objekt nicht zurückgegeben wird. Jetzt vervollständigen wir es: var Person = Funktion (Name, Alter) { dieser.name=Name, this.age=Alter gib dies zurück; } var Person1=new Person("Person",18); var Person2=neue Person("Li Si",19); Auf diese Weise können Sie den Effekt sogar vortäuschen: var Person = Funktion (Name, Alter) { var das={}; dieser.name=Name, that.age=Alter gib das zurück; } var Person1=new Person("Person",18); var Person2=neue Person("Li Si",19); Strikter ModusDies hat ein magisches Verhalten im strikten und nicht strikten Modus Funktion test() { gib dies zurück; } # Wenn „use strict“ vor js hinzugefügt wird, bedeutet dies den strikten Modus „use strict“; Funktion test() { gib dies zurück; } Dies zeigt, dass in einer Funktion im nicht strikten Modus der Besitzer der Funktion standardmäßig daran gebunden ist. Daher kann der globale Wert gedruckt werden, aber im strengen Modus ist die Funktion nicht daran gebunden, sodass dies nicht definiert ist. Sie können dies ändern, um zu verweisen aufSchauen Sie sich zuerst den Code an var Person = Funktion (Name, Alter) { dieser.name=Name, this.age=Alter, dies.spaß = funktion(){ console.log("drucken",dieser.name); } } var Person1=new Person("Person",18); var Person2=neue Person("Li Si",19); Es ist ersichtlich, dass dies auf den Wert eines Fensters und nicht auf den Wert im Methodentest zeigt, aber einige Schlüsselwörter können den Zeiger ändern. Sie können sehen, wer das Objekt vor der Methode ist und wer das „this“ im Aufruf ist, aber es kann geändert werden, z. B. durch die Verwendung der Schlüsselwörter „call“, „apply“ und „bind“. Aus dem Obigen können wir erkennen, dass „call“ und „apply“ sehr ähnlich sind, aber „bind“ die Funktion nicht sofort ausführt und in () eingeschlossen werden muss. Wenn Sie jedoch Parameter eingeben, werden Sie feststellen, dass „call“ und „apply“ immer noch unterschiedlich sind, aber beide Objekte enthalten müssen. Schließlich verweist dies auf das Objekt.
Damit ist dieser Artikel mit der eingehenden Analyse der Richtung von this in JavaScript und der Änderung der Richtung abgeschlossen. Weitere relevante Inhalte zu JavaScript this direction finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
>>: Anwendung von CSS3-Animationseffekten in Aktivitätsseiten
Inhaltsverzeichnis 1. Docker installieren 2. Code...
Inhaltsverzeichnis Vorwort Rendern Beispielcode Z...
Linearer Farbverlauf Hintergrundbild: linearer Fa...
Frage Nicht genügend Speicher, wenn Docker Elasti...
Bisher kannten wir mehrere Hintergrundattribute i...
Vorwort MySQL ist das beliebteste relationale Dat...
Unicode-Signatur-BOM – Was ist die BOM? BOM ist di...
Was ist DNS Der vollständige Name von DNS lautet ...
Mit zunehmender Anzahl von Besuchen steigt der Dr...
React ist eine JAVASCRIPT-Bibliothek zum Erstelle...
In diesem Artikel wird der spezifische JavaScript...
1. Herunterladen 1. Laden Sie das Installationspa...
Hinweis: Diese Methode ist nur auf WebKit-basiert...
Inhaltsverzeichnis Werkzeug: Anmeldeszenario: übe...
# Passen Sie die Startpriorität der VMware-Festpl...