1.javascript没有块级作用域,
2.只有函数可以创建的作用域。
所以,变量的声明时,全局代码要在代码前端声明,函数中要在函数体一开始就声明好。
作用域在函数定义时就已经确定了。而不是在函数调用时确定,而且建议使用 var,
作用域主要就是为了隔离变量,不同作用域下同名变量不会有冲突
要通过作用域对应的执行上下文环境来获取变量的值。
同一个作用域下,不同的调用会产生不同的执行上下文环境,继而产生不同的变量的值。
所以,作用域中变量的值是在执行过程中产生的确定的,而作用域却是在函数创建时就确定了