Heim > Web-Frontend > js-Tutorial > JavaScript-Serie für Fortgeschrittene – Funktionsdeklarationen und Ausdrücke

JavaScript-Serie für Fortgeschrittene – Funktionsdeklarationen und Ausdrücke

黄舟
Freigeben: 2017-02-08 10:00:36
Original
1192 Leute haben es durchsucht
  • Funktionsdeklaration

  • Funktionszuweisungsausdruck

  • Zuweisungsausdruck der benannten Funktion


Funktionen sind erstklassige Objekte in JavaScript, was bedeutet, dass sie wie jeder andere Wert weitergegeben werden können. Eine häufige Verwendung besteht darin, eine anonyme Funktion als Rückruffunktion an eine asynchrone Funktion zu übergeben.

Funktionsdeklaration

function foo() {}
Nach dem Login kopieren

Die obige Methode wird vor der Ausführung analysiert (gehievt), sodass sie überall im aktuellen Kontext vorhanden ist, auch wenn sie oberhalb des Funktionsdefinitionskörpers aufgerufen wird. Das ist richtig zu.

foo(); // 正常运行,因为foo在代码运行前已经被创建
function foo() {
Nach dem Login kopieren

Funktionszuweisungsausdruck

var foo = function() {};
Nach dem Login kopieren

In diesem Beispiel wird der Variablen foo eine anonyme Funktion zugewiesen.

foo; // 'undefined'
foo(); // 出错:TypeError
var foo = function() {};
Nach dem Login kopieren

Da var eine Deklarationsanweisung definiert, wird die Variable foo analysiert, bevor der Code ausgeführt wird, sodass die Variable foo bereits definiert wurde, wenn der Code ausgeführt wird.

Da die Zuweisungsanweisung jedoch nur zur Laufzeit ausgeführt wird, ist der Wert von foo standardmäßig auf undefiniert, bevor der entsprechende Code ausgeführt wird.

Zuweisungsausdruck einer benannten Funktion

Ein weiterer Sonderfall besteht darin, die benannte Funktion einer Variablen zuzuweisen.

var foo = function bar() {
    bar(); // 正常运行
}
bar(); // 出错:ReferenceError
Nach dem Login kopieren

bar ist außerhalb der Funktionsdeklaration unsichtbar, da wir die Funktion foo zugewiesen haben, sie ist jedoch immer noch innerhalb von bar sichtbar. Dies liegt an der Benennungsverarbeitung von JavaScript. Funktionsnamen sind innerhalb von Funktionen immer sichtbar.

Hinweis: In IE8- und niedrigeren Browsern ist bar auch extern sichtbar, da der Browser den benannten Funktionszuweisungsausdruck falsch analysiert und ihn in zwei Funktionen foo und bar analysiert


Das Obige ist der Inhalt der erweiterten JavaScript-Reihe – Funktionsdeklarationen und Ausdrücke. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (m.sbmmt.com)!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage