千鋒教育JavaScript全套視頻教程(10天學(xué)會Js,前端javascrip

p39 038再談函數(shù)-預(yù)解析
預(yù)解析是在代碼執(zhí)行之前對代碼執(zhí)行通讀并解釋
第一個: 是對var關(guān)鍵字
???-> 會把var關(guān)鍵字和變量名提前 當(dāng)前作用域最前面
???-> 這個時候不賦值
?=> 第二個: 是對聲明式函數(shù)
???????-> 會把函數(shù)名提前 當(dāng)前作用域最前面
???????-> 并同時賦值為一個函數(shù)
?注意: 賦值式函數(shù)按照var的預(yù)解析規(guī)則進(jìn)行預(yù)解析
?預(yù)解析的重名問題
??=> 第一種: 變量名和變量名重名
??????????-> 以第一個的為準(zhǔn)?
??????????-> 后面定義的沒有意義
?=> 第二種: 函數(shù)名和函數(shù)名重名
??????????-> 以后面的函數(shù)為準(zhǔn)
??????????-> 也就是后面定義的會把前面定義的覆蓋掉
=> 第三種: 變量名和函數(shù)名重名
??????????-> 以函數(shù)名為準(zhǔn)
?預(yù)解析中的特殊情況
=> 第一個:?
??????????-> 如果if條件為假(false)
??????????-> 不執(zhí)行if后面的大括號中的代碼
??????????-> 但是不影響預(yù)解析
?=> 第二個:
??????????-> return后面的代碼是不執(zhí)行
??????????-> 但是會進(jìn)行預(yù)解析
標(biāo)簽: