Variable ist undefiniert…
Stellen Sie sich vor, es wäre so einfach, den Sinn des Lebens zu finden. Wenn Sie diesen Fehler in JavaScript erhalten, kann dies ein entmutigendes Gefühl sein. Was ist hier passiert? Was bedeutet das überhaupt und wie kann es behoben werden. Zuerst müssen wir verstehen, was unter der Haube der V8-Engine von JavaScript passiert
Wenn JavaScript ausgeführt wird, richtet es die Umgebung ein, in der Ihr Code ausgeführt wird, der so genannte „Ausführungskontext“. Als Erstes erstellt es ein globales Objekt, eine Variable namens „this“ und möglicherweise einen Verweis auf die äußere Umgebung, falls vorhanden. An diesem Punkt beginnt es damit, dass alle Variablen in Ihrem Code „hochgezogen“ werden.
„Heben“ ist ein weiteres Thema, das am besten später in einem separaten Artikel behandelt wird. Lassen Sie uns vorerst der Konversation halber zustimmen, die Definition aus den MDN-Dokumenten hier zu verwenden :
„Eine strenge Definition von Heben legt nahe, dass Variablen- und Funktionsdeklarationen physisch an den Anfang Ihres Codes verschoben werden, aber das ist nicht der Fall. Stattdessen werden die Variablen- und Funktionsdeklarationen während der Kompilierungsphase in den Speicher gestellt, bleiben aber genau dort, wo Sie sie in Ihren Code eingegeben haben.
Während JavaScript die Umgebung für die Ausführung Ihres Codes einrichtet, beginnt es mit der Zuweisung von Speicher für jede von Ihnen deklarierte Variable und Platz für den Wert, den Sie ihr zugewiesen haben. Wenn Sie keinen expliziten Wert für die Variable namens life deklariert haben . JavaScript weist ihm automatisch den speziellen Wert „undefined“ zu . Wenn Sie also sehen, dass das Leben als Fehler „ undefiniert “ ist. Was Javascript Ihnen zu sagen versucht: befindet sich in der Ausführungsumgebung, die ich erstellt habe, damit Ihr Code ausgeführt werden kann. Sie haben der Variablen life keinen Wert zugewiesen . Ihr Code hat also eine Variable namens Leben , aber keinen Wert, der dafür im Speicher gespeichert ist.
Dies unterscheidet sich stark von „Referenzfehler: Das Leben ist nicht definiert“. JavaScript auf seine seltsam hilfreiche Weise. Versucht, Sie in die Richtung zu weisen, um Ihren Code zu reparieren. Was die JavaScript-Engine Ihnen mit „Referenzfehler: Leben ist nicht definiert“ zu sagen versucht, ist, wann Ihr Code gehisst wurde und Variablen und Werte in den Speicher gestellt wurden. Die JavaScript-Engine hat für diese Variable keinen Speicherplatz reserviert, da Sie keine Variable namens life deklariert haben. Im Wesentlichen heißt es also, dass es in Ihrem Code keinen Verweis auf eine Variable namens Leben gibt, also wurde nichts gehisst. Wir haben also einen Fehler, weil es in der Ausführungsumgebung nichts gibt, auf das für einen Wert verwiesen werden könnte
Dies bringt einen wirklich wichtigen Punkt hervor, was wäre, wenn Sie eine Variable deklarieren und ihr einen Wert geben müssten, der anzeigt, dass sie keinen Wert hat?
Mein Vorschlag wäre, hier „null“ laut MDN zu verwenden
„Der Wert nullrepräsentiert das absichtliche Fehlen jeglichen Objektwerts. Es ist einer der primitiven Werte von JavaScript und wird für boolesche Operationen als falsch behandelt.“
Hoffentlich hat dieser Artikel dazu beigetragen, zu klären, was wirklich unter der Haube von JavaScript passiert, da Sie auf diese häufigen Fehler stoßen werden. Leider ist der Sinn des Lebens nicht so einfach zu definieren.
Viel Spaß beim Codieren!
Einleitung Ein Schlaganfall ist ein medizinischer Notfall, der jeden jederzeit treffen kann. Sie tritt auf, wenn die Durchblutung eines Teils des Gehirns gestört ist, was zu einem plötzlichen Verlust der Gehirnfunktion führt.
Diese Woche erhielt ich eine E-Mail von einem Mitglied der täglichen E-Mail-Liste. Sie wollten wissen: Welche Ressourcen besuchen Sie täglich, wöchentlich und monatlich? Tolle Frage! Ich versuche gerne, einige Einblicke in meinen Arbeitsablauf und die wichtigsten Ressourcen, die ich verwende, mit Ihnen zu teilen.
In der heutigen schnelllebigen und wettbewerbsintensiven Welt spielt die Karriere eine wichtige Rolle für das persönliche Wachstum, die finanzielle Stabilität und die allgemeine Lebenszufriedenheit. Viele Menschen befinden sich jedoch in einem unerbittlichen Kreislauf aus Stagnation und Unzufriedenheit, der ihr Berufsleben allmählich verkümmert.
Es ist ein strahlend goldener Morgen in den sanften Hügeln des Westens, während die ersten Sonnenstrahlen das gefrorene Gras auf den Ebenen erhellen. Eine Herde friedlicher Angus-Rinder, pechschwarz und massig, zeichnet sich vor dem Sonnenaufgang ab, während sie einen ausgetretenen Pfad entlang zu einem Ort geht, den sie alle gut kennen; die Frühstücksbar.
Offenes Tagebuch: Ein Bild pro Tag. Geschichten haben mich schon immer fasziniert.
(Warnung – das ist Satire, die fröhlich subversiv sein soll – definitiv nichts für Kinder) Sie haben gesehen, wie Ihre Eltern sich in der Küche versteckten und diese stinkenden Zigaretten rauchten. Sie sagen es dir.