JavaScript 中,定義函數時用 var foo = function () {} 和 function foo() {}有什么區別?


對於新手來說(本人也是新手-_-!),好像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

 

注:本內容為整理的網友給出的答案,感謝各位網友的共享。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM