我有這樣的代碼:聲明函數在JavaScript
function myFunction(){
alert("Hello");
}
而這個其他代碼:
var myFunction = function(){
}
的區別是什麼?
我有這樣的代碼:聲明函數在JavaScript
function myFunction(){
alert("Hello");
}
而這個其他代碼:
var myFunction = function(){
}
的區別是什麼?
第一種是在javascript中聲明函數的正常方式。你可以通過引用它的名字myfunction()來調用它。
第二個是存儲在變量中的匿名函數,因爲函數是JavaScript中的第一類公民。變量myfunction現在擁有匿名函數。
基本上,第一個是一個正常的功能,而第二個是一個變量,持有一個匿名函數。
而第二個很難調試,因爲它的名字不會顯示在堆棧軌跡 – renatoargh
第一個是命名函數,如果您要查看堆棧跟蹤,則在調用它時會看到myFunction
。
第二個是設置爲匿名函數的變量。在堆棧跟蹤中,該函數的名稱將爲<anonymous>
,因此在存在多個匿名函數時難以跟蹤。
http://stackoverflow.com/questions/336859/var-functionname-function-vs-function-functionname – Yang