Variable namens undefined in Javascript Bibliotheken [duplizieren]

8
  

Mögliche Duplikate:
Wie funktioniert diese JavaScript / JQuery-Syntax? (Funktion (Fenster, undefiniert) {}) (Fenster)?
Welche Vorteile bietet die Verwendung (Funktion (Fenster, Dokument, undefiniert) {...}) (Fenster, Dokument)?

Ich habe viele JavaScript-Bibliotheken gesehen, die eine Variable mit dem Namen "undefined" erstellen, die ihren Zweck nicht erkennen kann, darunter sind Zeilen, die aus der jQuery-Bibliothek

kopiert wurden %Vor%

Bitte schlagen Sie mir den Grund und die Vorteile davon vor!

    
Praveen Prasad 01.03.2011, 15:31
quelle

2 Antworten

7

Was Sie sehen werden, ist etwa so:

%Vor%

Dies erstellt eine anonyme Funktion und führt sie sofort aus. Die Funktion hat einen Parameter namens undefined . Da an der Funktion kein Argument übergeben wird, ist die Variable undefined tatsächlich der JavaScript Grundwert undefined .

Warum willst du das machen? Nun, das Problem ist, dass Sie tatsächlich eine Variable mit dem Namen undefined erstellen können und diese beliebig setzen können, z. B .:

%Vor%

Ein Test myvalue === undefined in Ihrem Code würde dann unerwartete Ergebnisse haben.

Die anonyme Funktion mit dem Parameter undefined setzt den Wert von undefined im Wesentlichen auf den primitiven Wert zurück, so dass Sie bei Bedarf nachsehen können, ohne sich darum kümmern zu müssen, ob er den richtigen Wert hat.

    
lonesomeday 01.03.2011, 15:38
quelle
6

Es ist sicherzustellen, dass undefined tatsächlich undefined ist. Paul Irish nennt es den Arschloch-Effekt , andere js, die auf der Seite enthalten sind, könnten die Bedeutung von undefined ändern, und dann wirst du es bekommen unerwartete Ergebnisse.

    
Loktar 01.03.2011 15:35
quelle

Tags und Links