一般情况下,变量取值是到创建这个变量的函数的作用域中去取值。但是当在当前作用域中没有取到值,就会到上一级作用域中去取值直到全局作用域,通俗点说就是儿子没有的找父亲要,这样一个链式的过程就是作用域链。这一过程不可逆转!!!
下图中fun2函数中没有b,c的值,所以取的是上一级函数fun1中的b+=5,c的值,而函数fun1中b的值取的是函数fn中b的值。这样就形成了一个链式的过程。

本文深入解析了作用域链的概念,阐述了变量如何在不同层级的作用域中查找取值,形成链式过程。当局部作用域找不到变量时,会向上级作用域查找,直至全局作用域。
一般情况下,变量取值是到创建这个变量的函数的作用域中去取值。但是当在当前作用域中没有取到值,就会到上一级作用域中去取值直到全局作用域,通俗点说就是儿子没有的找父亲要,这样一个链式的过程就是作用域链。这一过程不可逆转!!!
下图中fun2函数中没有b,c的值,所以取的是上一级函数fun1中的b+=5,c的值,而函数fun1中b的值取的是函数fn中b的值。这样就形成了一个链式的过程。


被折叠的 条评论
为什么被折叠?