函式宣告:
function a()
函式表示式:"var a="後面的就是函式表示式
var a=function ()
兩者主要的區別就是宣告提前
函式宣告不僅會提公升宣告,還會提公升定義.
test() // 呼叫成功
function test() {}
而函式表示式只會提公升宣告,不會提公升定義
test() // 有test這個變數,但它卻不是函式,所以呼叫失敗
var test= function() {}
另外提一點,同樣都是宣告提前,函式宣告提前的優先順序要高於變數宣告提前,舉個栗子!
var test=function()
function test()
test() //輸出"php是世界上最好的語言"
函式宣告與函式表示式的區別
一 函式宣告中函式名是必須的 函式表示式中則是可選的 函式宣告 function sum a,b alert sum 1,2 函式表示式 var s function sum a,b alert s 1,2 var s function a,b alert s 1,2 以上兩種都可以 二 用函式宣告...
函式宣告與函式表示式的區別
無論在哪兒定義函式,只要是外層函式並且滿足不被包裹,就都可以進行全域性範圍的呼叫 function foo 在函式體內部的函式宣告無法提公升到全域性,只能提公升到函式體內頂部 塊級作用域空間 function test test 1 test2 uncaught referenceerror tes...
函式宣告與函式表示式
對函式宣告和表示式加以區別 在解析器向執行環境中載入資料時,對函式宣告和函式表示式並非一視同仁。解析器會先率先讀取函式宣告,並使其在執行任何 之前可以呼叫 至於函式表示式,則必須等到解析器執行到它所在的 行,才會真正被解釋執行。函式宣告 alert hello 返加值 hello function ...