JavaScript面试题总结系列(六)

6.JavaScript做用域

做用域

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

做用域链

  • 概念
    做用域链能够理解为一组对象列表,包含父级和自身的变量对象,所以咱们便能经过做用域链访问到父级里声明的变量或者函数。
  • 做用
    做用域链的做用是保证执行环境里有权访问的变量和函数是有序的,做用域链的变量只能向上访问,变量访问到window对象即被终止,做用域链向下访问变量是不被容许的
  • 组成
    由两部分组成函数

    • [[scope]]属性: 指向父级变量对象和做用域链,也就是包含了父级的[[scope]]AO
    • AO: 自身活动对象
> 如此`[[scopr]]`包含`[[scope]]`,便自上而下造成一条 链式做用域。

参考连接
http://blog.poetries.top/FE-Interview-Questions/base/#_2-%E8%AF%B4%E8%AF%B4%E4%BD%A0%E5%AF%B9%E4%BD%9C%E7%94%A8%E5%9F%9F%E9%93%BE%E7%9A%84%E7%90%86%E8%A7%A3
相关文章
相关标签/搜索