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

CentOS7 64-Bit-Installation MySQL Grafik-Tutorial

Voraussetzungen für die Installation von MySQL: I...

So fügen Sie in JS eine Abbruchfunktion zu einem Versprechen hinzu

Inhaltsverzeichnis Überblick Promise Race Methode...

Das WeChat-Applet implementiert den Serveraufbau des Benutzeranmeldemoduls

Ich habe node.js zum Erstellen des Servers gewähl...

Diagramm des Tomcat CentOS-Installationsprozesses

Tomcat CentOS-Installation Dieses Installationstu...

Einführung in die reaktive Funktion toRef-Funktion ref-Funktion in Vue3

Inhaltsverzeichnis Reaktive Funktion Verwendung: ...

So verwenden Sie JavaScript und CSS richtig in XHTML-Dokumenten

Auf immer mehr Websites wird HTML4 durch XHTML ers...

Detaillierte Analyse des binlog_format-Modus und der Konfiguration in MySQL

Es gibt drei Hauptmethoden der MySQL-Replikation:...

Sind Sie immer noch Select *?

Es gibt viele Gründe, warum eine Anwendung langsa...

Vue implementiert Drag-Fortschrittsbalken

In diesem Artikelbeispiel wird der spezifische Co...