Heim >Web-Frontend >js-Tutorial >Zusammenfassung allgemeiner Überlegungen zur JavaScript-Funktionsdefinition_Javascript-Tipps
Dieser Artikel fasst häufige Probleme mit JavaScript-Funktionsdefinitionen zusammen. Enthält häufige Fehler, die Anfänger machen. Teilen Sie es als Referenz mit allen. Die spezifische Zusammenfassung lautet wie folgt:
1. Wenn die Funktion deklariert wird, definiert die JS-Engine auch eine Variable mit demselben Namen wie der Funktionsname. Wenn wir diese Funktion aufrufen, verwenden wir diese Variable tatsächlich und sie kann aufgerufen werden, bevor die Funktion deklariert wird , wie zum Beispiel
foo(); //这里实际上是使用了一函数变量 function foo() { alert('hello'); }
2. Funktionsausdruck Zu diesem Zeitpunkt muss die anonyme Funktion nach der Definition verwendet werden, z. B.
foo(); //报错,未定义 var foo = function() { alert('hello'); }
3. Funktionsausdruck (mit Funktionsnamen), diese Verwendung wird derzeit am besten vermieden, da der Funktionsname nur intern in Nicht-IE-Browsern verfügbar ist, z. B.
bar(5); //报错,未定义 var bar = function foo(n) { if (n == 1) return 1; else return n * foo(n - 1); } foo(5); //非IE报错,未定义 bar(5); //正确
4. Definieren Sie es mit dem Funktionskonstruktor. Bei jeder Ausführung der Funktion wird ihr Funktionskörper analysiert. Darüber hinaus erbt eine auf diese Weise deklarierte Funktion nicht den Gültigkeitsbereich der aktuellen Deklarationsposition. Sie hat standardmäßig nur den globalen Gültigkeitsbereich, z. B.
function foo() { var bar = 'hello'; return Function('alert(bar)'); //报错,全局变量bar未定义 } foo()();
Ich glaube, dass das, was in diesem Artikel beschrieben wird, einen gewissen Referenzwert für das Erlernen der Javascript-WEB-Programmierung für jeden hat.