簡單區別函式宣告與函式表示式

2021-09-30 01:15:07 字數 507 閱讀 8644

函式宣告:

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 ...