對於新手來說(本人也是新手-_-!),好像var foo = function () {} 和 function foo(){}並沒有什么區別,意識里可能就認為就是兩種不同的寫法而已。但是,通過網上查詢資料才知道
事實上是有區別的:
1.var foo = function () {}
這種方式是聲明了個變量,而這個變量是個方法,變量在js中是可以改變的。
2.function foo() {}
這種方式是聲明了個方法,foo這個名字無法改變
例:
function b(){ document.write("aa"); } var a=function(){ document.write("123"); } b(); a();
好像並沒有什么區別-_-。,別急,看下邊~
b(); a(); function b(){ document.write("aa"); } var a=function(){ document.write("123"); }
是不是有區別了^_^
function b(){} 為函數聲明,程序運行前就已存在
var a = function(){} 為函數表達式,是變量的聲明,屬於按順序執行,所以a為undefined
注:本內容為整理的網友給出的答案,感謝各位網友的共享。