5 5 2 函式宣告與函式表示式的區別

2021-08-13 15:08:28 字數 406 閱讀 6108

console.log(a)  //undefined

var a=10

console.log(sum1(1,2)) //3

function

sum1(num1,num2)

console.log(sum2(1,2)) //uncaught typeerror: sum2 is not a function

var sum2=function(num1,num2)

**開始之前,解析器已經通過乙個名為函式宣告提公升的過程,讀取並且將函式宣告新增到執行環境中;對**求值時,js引擎在第一遍會宣告函式並且將它們放到源**樹的頂部;所以即使宣告函式的**在呼叫它的**後,js引擎也能把函式宣告提公升到頂部;

函式表示式,則會在執行期間導致錯誤;

函式宣告與函式表示式

對函式宣告和表示式加以區別 在解析器向執行環境中載入資料時,對函式宣告和函式表示式並非一視同仁。解析器會先率先讀取函式宣告,並使其在執行任何 之前可以呼叫 至於函式表示式,則必須等到解析器執行到它所在的 行,才會真正被解釋執行。函式宣告 alert hello 返加值 hello function ...

函式宣告與函式表示式

1 function sum num1,num2 1 function sum num1,num2 解析器在向執行環境中載入資料時,會率先讀取函式宣告,並使其在執行任何 前可用 可以訪問 而函式表示式,必須等到解析器執行到他所在的 行,才會被真正解析執行。其它情況都是相同的。1 正常執行 2 ale...

函式表示式 和函式宣告function的區別

表示立即執行乙個函式表示式,拆分來看第乙個括號裡的是乙個函式宣告,第二個括號表示立即執行這個表示式,下面我們來理解一下什麼是函式表示式和函式宣告。區分函式表示式和函式宣告的區別在於function的位置,如果function不是出現在一段函式的第乙個詞,那麼這是乙個函式表示式,若function是第...