JavaScript ist unzuverlässig undefiniert

JavaScript ist unzuverlässig undefiniert

undefined Wenn wir in JavaScript feststellen möchten, ob ein Wert undefiniert ist, schreiben wir normalerweise:

wenn(a === undefiniert){ //code}

Allerdings ist undefined in JavaScript nicht zuverlässig. Versuchen wir, eine Funktion wie diese zu schreiben:

Funktion test(a) {
  var undefiniert = 1;
  console.log(undefiniert); // => 1
  wenn(a === undefiniert) {
    // ...
  }
}

Wie Sie sehen, lässt sich „undefined“ leicht in „1“ ändern, was unser nachfolgendes Verständnis von „undefined“ mehrdeutig macht. Daher ist es in JavaScript riskant, undefined direkt als „undefined“ zu interpretieren, da der Bezeichner manipuliert werden könnte.

Vor ES5 konnte das globale undefined auch geändert werden. In ES5 ist dieser Bezeichner als schreibgeschützter Bezeichner konzipiert. Wenn Ihr aktueller Browser nicht zu alt ist, können Sie zum Testen die folgende Anweisung in die Konsole eingeben:

undefiniert = 1;
console.log(undefiniert); // => undefiniert

Jetzt können wir deutlich sehen, dass der Bezeichner „undefined“ nicht wirklich „undefined“ widerspiegelt, also müssen wir diese Semantik auf andere Weise erhalten. Glücklicherweise bietet JavaScript auch den Void-Operator, der den angegebenen Ausdruck auswertet und das vertrauenswürdige „undefined“ zurückgibt:

void-Ausdruck

Die häufigste Verwendung besteht darin, „undefiniert“ durch die folgende Operation zu erhalten. Die Operationskosten sind am geringsten, wenn der Ausdruck 0 ist:

ungültig 0;
// oder
ungültig(0);

Alle Stellen, an denen undefined benötigt wird, werden durch void 0 ersetzt.

Natürlich gibt es auch eine andere Möglichkeit, undefined zu erhalten: Wer den jQuery-Quellcode gelesen hat, sollte die darin sofort ausgeführte Funktion kennen:

(Funktion(Fenster,undefiniert) {
    // ...
})(Fenster)

In dieser Funktion haben wir den zweiten Parameter nicht übergeben (der Parametername ist undefiniert), daher wird der Wert des zweiten Parameters als „undefiniert“ betrachtet. Daher werden auf diese Weise alle undefinierten Werte im Rahmen dieser Funktion als undefiniert angesehen.

Oben sind die Details zu JavaScripts unzuverlässiger undefinierter Bedeutung aufgeführt. Weitere Informationen zu JavaScripts unzuverlässiger undefinierter Bedeutung finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • 7 Tipps zum Umgang mit undefinierten JavaScript-Werten
  • JavaScript – Undefinierte und Null-Differenz-Beispielanalyse
  • Analyse der Verwendung von Null und Undefiniert in JavaScript
  • Die Essenz von undefined in Javascript
  • Lösung für das Problem, dass der Rückgabewert der Funktion showModalDialog im JS Chrome-Browser nicht definiert ist
  • Eine kurze Analyse von undefined und null im Javascript-Typsystem
  • JavaScript-Typsystem - ein umfassendes Verständnis von undefiniert und null
  • Javascript-Grundlagen_Einfacher Vergleich von undefinierten und Nullwerten
  • JavaScript muss wissen (Teil 2) null und undefined
  • Unterscheiden zwischen undefinierten und Nulltypen in JavaScript

<<:  Ein Beispiel für die Installation von MySQL unter Linux und die Konfiguration des externen Netzwerkzugriffs

>>:  5 einfache Möglichkeiten, Speicherplatz auf Ubuntu freizugeben

Artikel empfehlen

Tutorial zu HTML-Formular-Tags (2):

Dieses Tutorial stellt die Anwendung verschiedene...

JavaScript-Implementierung des klassischen Schlangenspiels

In diesem Artikel wird der spezifische JavaScript...

Empfehlen Sie einige nützliche Lernmaterialien für Neulinge im Webdesign

Viele Leute haben mich auch gefragt, welche Büche...

Zusammenfassung der CSS-Methoden zum Löschen von Floats

Float wird häufig im Layout von Webseiten verwend...

So lösen Sie das Problem des verstümmelten DOS-Fensters in MySQL

Das Problem mit dem verstümmelten Code ist folgen...

Lösen Sie das Problem der unsicheren Docker x509-Registrierung

Nach der Installation von Docker trat beim Versuc...

So implementieren Sie die Größenanpassung mobiler Webseiten

Ich habe das vorliegende Projekt endlich abgeschl...

Referenz zur Webseitenerstellung im IE6 - Standardstil im IE6

Dies ist eigentlich kein offizielles Dokument des ...