一、寫法不一樣
1 //函式宣告 2 let res1 = sum1(10 , 20) 3 console.log(res1) 4 function sum1(num1, num2) { 5 return num1 + num2 6 } 7 8 //函式運算式 9 let res2 = sum2(10 , 20) 10 console.log(res2) 11 let sum2 = function ( num1, num2 ){ 12 return num1 + num2 13 }
二、函式宣告可以把函式預加載,而運算式不會
以函式宣告的方法定義的函式,函式可以在函式宣告之前呼叫,而函式運算式的函式只能在宣告之后呼叫,

三、分析瀏覽器如何執行代碼
第一步:分析函式宣告
在分析網頁期間(執行任何代碼之前),瀏覽器查找函式宣告,找到函式宣告時,瀏覽器創建相應的函式,并將得到的函式參考賦給與函式同名的變數,

第二步:瀏覽器執行代碼
處理所有的函式宣告后,瀏覽器回到代碼開頭,開始按從頭到尾的順序執行代碼,

第三步:繼續執行
處理完變數fly后,瀏覽器繼續往下執行,接下來的陳述句是函式quack的宣告,因為已經處理過了,所以瀏覽器跳過宣告,接著執行后面的條件陳述句,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/469851.html
標籤:其他
