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!
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 .:
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.
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.
Tags und Links javascript jquery