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
相關文章
相關標籤/搜索