作用域
作用域:是变量能起到作用的区域。
1,全局变量作用域在所有地方;局部变量作用域在局部。
2,全局不能访问局部变量,局部可以访问全局变量。
作用域链
1,概念:全局嵌套局部,局部可以嵌套更小的局部,。。。由作用域嵌套造成的链式结构,就叫做作用域链。
2,用法
变量的访问机制
我们在任何一个位置访问一个变量的值,都是先在当前作用域中查找是否定义过这个变量,如果有就访问到值了,如果没有就去上级作用域中查找,如果上级作用域中找到了,就访问到它的值,如果没有就继续去上级作用域中查找,。。。直到全局,如果全局找到了,就访问到全局变量的值,如果全局没找到,就报错。XXX is not defined
变量的赋值机制
我们在任何一个位置给变量赋值,都是先在当前作用域中查找是否定义过这个变量,如果有就给变量赋值,如果没有就去上级作用域中查找,如果上级作用域找到了,就给上级作用域的变量赋值,如果没有就继续去上级作用域中找,。。。直到全局,如果全局找到了,就给全局变量赋值,如果全局没找到,就在全局定义这个变量,并赋值。
以上为个人理解,如有错误,还望指正!谢谢!