对于一本编程语言来讲,个人认为,最基本的就是存储,在存储,读取,计算值的时候是按照一定的规则来操作,这套规则呢就叫做作用域. 值保存,读取,的时候需要一个范围,如果以按照函数为单位的话就做函数作用域,按照模块的话就叫做模块作用域.作用域是可以相互嵌套的. js作为一本编译语言,需要两个过程,一个是编译另一个呢就是运行.而编译大致分为两个部分,1,词法与语法分析(编译) 2,代码生成的过程. 编译时在打开浏览器的一瞬间进行的,js对编译做了优化,举个例子说一下,js编译过程. var a=123…