簡介
javascript是一種解釋型語言,它的執行是自上而下的。但各瀏覽器對於【自上而下】的理解是有細微差別的,而程式碼的上下游也就是程式流對於程式正確運作又是至關重要的。所以我們有必要深入理解js的執行順序。為此,我設計瞭如下八個實驗來獲得最確切的結果。
實驗
程式碼如下:
//[t(a)]a:1
後記
後記
後記定義javascript函數時,函數名稱是函數物件的標識,參數數量只是這個函數的屬性。靠定義參數數量不同的函數來實現重載是不行的。 呼叫函數時,js透過函數名稱找到對應的函數對象,然後根據函數定義時的參數,和表達式參數列表按順序匹配,多餘的參數捨去,不夠的參數按undefined處理,然後執行函數代碼。 所以定義函數時,通常會把必選參數放在參數清單最前面,可選參數放在必選參數後面。 注意事項一、上述八個實驗的結果是經過360瀏覽器(版本/核心:6.3.1.142/21.0.1180.89)和火狐瀏覽器(版本:27.0.1 )運行得出的。 二、上述八個實驗是相互獨立的,請分別單獨運行以獲得正確的結果。