Es gibt zwei Möglichkeiten, Funktionen in JS zu definieren:
(1) Typische Funktionsdeklaration
function slide(arguments){ //...code }
(2 ) Definieren eine Funktion in Form eines Funktionsausdrucks
var slide = function(arguments){ //...code }
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(){},有函数名
Wenn als Funktionsausdruck definiert
var factorial = function(num){ //...code } //...code console.log(anotherFactorial);//输出function(){},匿名函数