函數(shù)聲明和函數(shù)表達(dá)式的區(qū)別

函數(shù)聲明和函數(shù)表達(dá)式的區(qū)別

var init = function() { }; 是函數(shù)表達(dá)式,函數(shù)在代碼執(zhí)行的到當(dāng)前行的時(shí)候才被執(zhí)行,init 才被賦值。function init() {} 是函數(shù)聲明,和 var 一樣,會(huì)被提前到代碼最前面定義。

函數(shù)聲明和函數(shù)表達(dá)式的區(qū)別

1).以函數(shù)聲明的方法定義的函數(shù),函數(shù)名是必須的,而函數(shù)表達(dá)式的函數(shù)名是可選的。(函數(shù)聲明整體會(huì)被提升到當(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á)式可以在任何地方聲明。

換句話說(shuō),函數(shù)聲明不是一個(gè)完整的語(yǔ)句,所以不能出現(xiàn)在if-else,for循環(huán),finally,try catch語(yǔ)句以及with語(yǔ)句中。

  • 姓名:
  • 專(zhuān)業(yè):
  • 層次:
  • 電話:
  • 微信:
  • 備注:
文章標(biāo)題:函數(shù)聲明和函數(shù)表達(dá)式的區(qū)別
本文地址:http://balticsea-crewing.com/show-368364.html
本文由合作方發(fā)布,不代表中職學(xué)校招生網(wǎng)立場(chǎng),轉(zhuǎn)載聯(lián)系作者并注明出處:中職學(xué)校招生網(wǎng)

熱門(mén)文檔

推薦文檔