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