⊗jsPmCxUFC 434 of 505 menu

Kontext einer ungebundenen Funktion in JavaScript

Schauen wir uns an, was passiert, wenn man in einer Funktion this verwendet, sie aber an kein Element bindet, wie hier:

function func() { console.log(this); } func();

In diesem Fall hängt das Ergebnis davon ab, ob der strikte Modus aktiviert ist oder nicht. Wenn der Modus nicht strikt ist, wird this einen Verweis auf window enthalten:

function func() { console.log(this); // Verweis auf das Fenster window } func();

Wenn der Modus jedoch strikt ist, wird this undefined sein:

"use strict"; function func() { console.log(this); // undefined } func();

Aus dem oben Gesagten könnte man schließen, dass im strikten Modus this immer undefined sein wird. Weit gefehlt! Wenn man einfach this außerhalb einer Funktion ausgibt, enthält es einen Verweis auf window, unabhängig vom Modus:

"use strict"; console.log(this); // in this befindet sich ein Verweis auf window

Schlussfolgerungen

In jeder Funktion kann this geschrieben werden, was nicht zu JavaScript-Fehlern führen wird. Aber was genau in diesem this gespeichert ist, ist bis zum Aufruf der Funktion nicht definiert. Darüber hinaus kann this bei verschiedenen Aufrufen der Funktion unterschiedliche Werte annehmen. Es hängt alles vom Kontext ab, in dem die Funktion aufgerufen wurde.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen