still, 你的不知道的js里講的很清楚了
如果查找的目的是對(duì)變量進(jìn)行賦值,則進(jìn)行LHS查詢绢淀;如果查找的目的是獲取變量的值吭净,則進(jìn)行RHS查詢。
如果function是聲明中的第一個(gè)詞厨幻,就是函數(shù)聲明,否則就是函數(shù)表達(dá)式腿时。
let 和 const不進(jìn)行提升况脆,函數(shù)聲明優(yōu)于var變量聲明提升。同名函數(shù)聲明批糟,后者生效格了,函數(shù)聲明后的同名變量聲明會(huì)被忽略。
閉包:內(nèi)部函數(shù)可以訪問(wèn)外部函數(shù)作用域徽鼎,并持有對(duì)原始詞法作用域的引用盛末。
js是詞法作用域,所以函數(shù)只跟聲明的位置有關(guān)否淤。
模塊的兩個(gè)必要條件:1悄但、要有一個(gè)外部嵌套函數(shù)。2石抡、封閉函數(shù)必須返回至少一個(gè)內(nèi)部函數(shù)檐嚣。
http://www.reibang.com/p/f91527492bf9
http://blog.csdn.net/qq_27582155/article/details/54340370
https://www.cnblogs.com/wind-lanyan/p/6552835.html