1. Formale Parameter in einer Funktion zu definieren, aber keine tatsächlichen Parameter zu übergeben, ist gleichbedeutend mit dem Definieren einer Variablen, aber ohne Zuweisen eines Werts, daher ist a im Folgenden undefiniert
1 function test(a){2 console.log(a)//undefined3 };4 test();
2. In IIFE wird das Fenster als tatsächlicher Parameter übergeben, wodurch die globale Suche nach dem Fenster bei der Ausführung des Codes vermieden wird, wodurch die Effizienz verbessert wird oben Das Definieren eines formalen Parameters in einer Funktion ist gleichbedeutend damit, ihn zu definieren, aber keinen Wert zuzuweisen, daher ist undefiniert in dieser sofort ausgeführten Funktion immer noch undefiniert. Selbst wenn der Wert von undefiniert global geändert wird, hat dies keine Auswirkungen auf undefiniert in dieser selbstausführenden Funktion. In Chrome 59 und höher sowie Firefox 53 und höher darf undefiniert jedoch nicht geändert werden und alle Ausgaben ist undefiniert. Unter IE8 können undefinierte Werte geändert werden, und die Ausgabe ist 8 und undefiniert, sodass durch die Übergabe formaler Parameter die Auswirkungen extern geänderter Variablen auf die interne Funktion in verschiedenen Browsern weitestgehend sichergestellt werden können. Vor IIFE müssen Klammern stehen, andernfalls wird ein Fehler gemeldet.
1 //在ie8中2 var undefined = 8;3 (function( window , undefined ){4 console.log(window.undefined) //85 console.log(undefined); //undefined6 })(window);
//在chrome和Firefox中var undefined = 8; (function( window , undefined ){ console.log(window.undefined) //undefinedconsole.log(undefined); //undefined})(window)
Das obige ist der detaillierte Inhalt vonTutorial zum Definieren formaler Parameter in einer Funktion, aber ohne Übergabe tatsächlicher Parameter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!