企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 说说你对作用域链的理解 1、作用域链的作用是保证执行环境里有权访问的变量和函数是有序的,作用域链的变量只能向上访问,变量访问到`window`对象即被终止,作用域链向下访问变量是不被允许的 2、简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期 3、通俗来说,一般情况下,变量取值到 创建 这个变量 的函数的作用域中取值。 但是如果在当前作用域中没有查到值,就会向上级作用域去查,直到查到全局作用域,这么一个查找过程形成的链条就叫做作用域链 ``` ~~~javascript var a = 100 function fn () { var b = 200 // 当前作用域没有定于的变量,即‘自由变量’ console.log(a) console.log(b) } fn() console.log(a) 去父级作用域找a自由变量 作用域链 ~~~ ```