作用域链

什么是作用域链?

在理解什么是作用域链之前,我们需要了解一个概念,那就是作用域。那么什么是作用域呢?简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。而作用域链就是函数被创建的作用域中对象的集合,它决定了哪些数据能被函数访问。

作用域链的工作原理

  • 函数在执行的过程中,会先从自己内部去寻找变量;
  • 当函数在自身内部中找不到变量时,它会在从创建当前函数所在的作用域中去继续寻找变量,以此依次往上。

由此可见,作用域链与一个执行上下文相关,是内部上下文所有变量对象(包括父变量对象)的列表,用于变量查询。同时,当我们在调用函数后再返回函数时,就会产生闭包,闭包的作用简单点来说就是用来保存一些临时变量。

你可能感兴趣的:(作用域链)