JavaScript面试题总结系列(六)

161 阅读1分钟

6.JavaScript作用域

作用域

  • 概念 简单地说,作用域就是在上下文中,变量与函数的可访问范围。它可以分为块级作用域函数作用域
  • 作用 作用域控制着变量与函数的可见性和生命周期。

作用域链

  • 概念 作用域链可以理解为一组对象列表,包含父级和自身的变量对象,因此我们便能通过作用域链访问到父级里声明的变量或者函数。
  • 作用 作用域链的作用是保证执行环境里有权访问的变量和函数是有序的,作用域链的变量只能向上访问,变量访问到window对象即被终止,作用域链向下访问变量是不被允许的
  • 组成
    由两部分组成
    • [[scope]]属性: 指向父级变量对象和作用域链,也就是包含了父级的[[scope]]AO
    • AO: 自身活动对象

    如此[[scopr]]包含[[scope]],便自上而下形成一条 链式作用域。


参考链接
blog.poetries.top/FE-Intervie…