作用域及闭包

still, 你的不知道的js里讲的很清楚了

如果查找的目的是对变量进行赋值,则进行LHS查询;如果查找的目的是获取变量的值,则进行RHS查询。
如果function是声明中的第一个词,就是函数声明,否则就是函数表达式。
let 和 const不进行提升,函数声明优于var变量声明提升。同名函数声明,后者生效,函数声明后的同名变量声明会被忽略。
闭包:内部函数可以访问外部函数作用域,并持有对原始词法作用域的引用。
js是词法作用域,所以函数只跟声明的位置有关。
模块的两个必要条件:1、要有一个外部嵌套函数。2、封闭函数必须返回至少一个内部函数。

http://www.jianshu.com/p/f91527492bf9
http://blog.csdn.net/qq_27582155/article/details/54340370
https://www.cnblogs.com/wind-lanyan/p/6552835.html

你可能感兴趣的:(作用域及闭包)