Heim > Web-Frontend > js-Tutorial > Hauptteil

Eine kurze Diskussion über die Unterschiede in den JS-Funktionsdefinitionsmethoden

高洛峰
Freigeben: 2016-12-08 13:53:46
Original
1207 Leute haben es durchsucht

Es gibt zwei Möglichkeiten, Funktionen in JS zu definieren:

(1) Typische Funktionsdeklaration

function slide(arguments){
//...code
}
Nach dem Login kopieren

(2 ) Definieren eine Funktion in Form eines Funktionsausdrucks

var slide = function(arguments){
//...code
}
Nach dem Login kopieren

Obwohl die beiden oben genannten Methoden logisch äquivalent sind, gibt es dennoch einen kleinen Unterschied:

Unterschied 1: Die Funktion in Beispiel 1 wird in den Bereich geladen, bevor der Code ausgeführt wird, während sie in Beispiel 2 erst definiert wird, wenn der Code in dieser Zeile ausgeführt wird;

Unterschied 2: Funktion Die Deklaration weist der Funktion einen Namen zu, während der Funktionsausdruck eine anonyme Funktion erstellt und diese dann einer Variablen zuweist.

Siehe das folgende Beispiel:

function factorial(num){
if(num<=1){
return 1;
}
else {
return num*arguments.callee(num-1);
}
}
var anotherFactorial = factorial;
factorial = null;
console.log(anotherFactorial);//输出factorial(){},有函数名
Nach dem Login kopieren

Wenn als Funktionsausdruck definiert

var factorial = function(num){
//...code
}
//...code
console.log(anotherFactorial);//输出function(){},匿名函数
Nach dem Login kopieren


Verwandte Etiketten:
js
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