Javascript: undefiniert als Funktionsparameter - Javascript, Parameter, undefiniert

Auf diesem SeiteEs zeigt einen Beispielcode mit der folgenden Zeile:

var Subject = ( function( window, undefined ) {

Was ist der undefined als Funktionsparameter?

Antworten:

5 für die Antwort № 1

Dies wird verwendet, um zu verhindern, dass der Wert von undefined im nicht strikten Modus.

Im nicht strikten Modus beträgt der Wert von undefined kann überschrieben werden, indem ein anderer Wert zugewiesen wird.

undefined = true; // Or any other value

Also, mit dem Wert von undefined wird nicht wie erwartet funktionieren.

Im strikten Modus undefined ist schreibgeschützt und das Zuweisen eines Werts führt zu einem Fehler.

Im Code wird der Wert für den letzten Parameter nicht übergeben, daher wird er implizit als übergeben undefined.

var Subject = ( function( window, undefined ) {

}(window)); // <-- No parameter is passed for the last value

2 für die Antwort № 2

Dies geschieht, um sicherzustellen, dass undefined immer undefiniert ist. Da in und JavaScript nicht ein reserviertes Wort, sondern eine reguläre Variable definiert ist, wäre dies zum Beispiel erlaubt:

 undefined = 2; // Assign a different value to undefined
if (undefined == 2)  // Now this statement would be true

Also in deinem Fall

var Subject = ( function( window, undefined ) {

Sie geben das Fenster weiter und verwenden es, aber dann übergeben sie dem nicht definierten Parameter keinen zweiten Wert, undefiniert ist undefiniert.


0 für die Antwort № 3

Weil Sie früher den Wert von undefined, aber nicht mehr. Nicht definiert ist ein spezieller Typ mit mehreren Anwendungsfällen. Wenn es neu definiert wurde true, Code wie dieser würde brechen:

if(my_var === undefined) {
dont_load_missiles());
} else {
load_missiles();
}