js作用域和作用域链

作用域的概念变量作用域的概念:

变量作用域就是一个变量可以使用的范围。

JS中首先有一个最外层的作用域:称之为全局作用域。

作用域链的意义:

查找变量(确定变量来自于哪里,变量是否可以访问)

需要以下四步:1.查看当前作用域,如果当前作用域声明了这个变量,可以直接访问
2.查找当前作用域的上级作用域,也就是当前函数的上级函数,看看上级函数中有没有声明,有就返回变量,没有继续下一步
3.再查找上级函数的上级函数,直到全局作用域为止,有则返回,无则继续
4.如果全局作用域中也没有,我们就认为这个变量未声明(xxx is not defined)

猜你喜欢

转载自www.cnblogs.com/hff-syt/p/12384226.html