JavaScript面试题总结系列(六)

原创
2019/10/27 11:04
阅读数 65

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

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部