5 回答

慕運維6514616
TA貢獻103條經驗 獲得超37個贊
前者是定義,后者是聲明。
對于定義,代碼得運行到那一行才能解析這個函數,在這之前調用將報錯。
對于聲明,在預編譯期間編譯器會將聲明放到代碼樹頂端,在任何位置都可以調用。

qq_微笑向暖_1
TA貢獻5條經驗 獲得超109個贊
function js(){}這種方式的聲明函數,當聲明完成之后,函數js()就會進行前置,在哪里都會調用到。
var js=function(){}這種變量方式賦值的函數,變量js會前置,但是方法并沒有進行賦值,所以如果在賦值語句之前調用該方法會出現undefined,因為該方法還未執行。
添加回答
舉報
0/150
提交
取消