Heim >Web-Frontend >js-Tutorial >Zusammenfassung allgemeiner Überlegungen zur JavaScript-Funktionsdefinition_Javascript-Tipps

Zusammenfassung allgemeiner Überlegungen zur JavaScript-Funktionsdefinition_Javascript-Tipps

WBOY
WBOYOriginal
2016-05-16 16:36:221220Durchsuche

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.

Stellungnahme:
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