var init = function() { }; 是函數(shù)表達(dá)式,函數(shù)在代碼執(zhí)行的到當(dāng)前行的時候才被執(zhí)行,init 才被賦值。function init() {} 是函數(shù)聲明,和 var 一樣,會被提前到代碼最前面定義。
函數(shù)聲明和函數(shù)表達(dá)式的區(qū)別1).以函數(shù)聲明的方法定義的函數(shù),函數(shù)名是必須的,而函數(shù)表達(dá)式的函數(shù)名是可選的。(函數(shù)聲明整體味被提升到當(dāng)前作用域的頂部,函數(shù)表達(dá)式也提升到頂部但是惟獨其變量名提升)
2).以函數(shù)聲明的方法定義的函數(shù),函數(shù)可以在函數(shù)聲明之前調(diào)用,而函數(shù)表達(dá)式的函數(shù)只能在聲明之后調(diào)用。
3).以函數(shù)聲明的方法定義的函數(shù)并不是真正的聲明,它們僅僅可以浮現(xiàn)在全局中,或者嵌套在其他的函數(shù)中,但是它們不能浮現(xiàn)在循環(huán),條件或者try/catch/finally中,而函數(shù)表達(dá)式可以在任何地方聲明。
換句話說,函數(shù)聲明不是一個完整的語句,所以不能浮現(xiàn)在if-else,for循環(huán),finally,try catch語句以及with語句中。
來源:高三網(wǎng)
能發(fā)現(xiàn)自己知識上的薄弱環(huán)節(jié),在上課前補(bǔ)上這部分的知識,不使它成為聽課時的“絆腳石”。這樣,就會順利理解新知識,相信通過函數(shù)聲明和函數(shù)表達(dá)式的區(qū)別這篇文章能幫到你,在和好朋友分享的時候,也歡迎感興趣小伙伴們一起來探討。