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
Vorwort Fixieren Sie den Fußzeilenbereich unten. ...
pt-Herzschlag Wenn die Datenbank zwischen Master ...
Inhaltsverzeichnis 1. Truncate-Operation 1.1 Welc...
Oft möchten wir, dass der Server regelmäßig ein S...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis Überblick Dateideskriptoren Sy...
Inhaltsverzeichnis 1. Open-Source-Lagerverwaltung...
Inhaltsverzeichnis Anwendungsszenario Einfach aus...
Angenommen, ein Knoten im Drei-Knoten-MGR ist abn...
Dieser Artikel vergleicht und fasst vier Möglichk...
Laden Sie zunächst die Zip-Archivversion von der ...
Auf der Seite werden externe Dateien wie JS, CSS u...
Inhaltsverzeichnis Überblick Formularvalidierung ...
Laderegeln der Require-Methode Laden aus dem Cach...
In diesem Artikelbeispiel wird der spezifische Co...