js作用域與作用域鏈

作用域:變量和函數(shù)可訪問(wèn)的內(nèi)容
  作用域可分為兩種:局部作用域,全局作用域
  局部作用域:只在固定的代碼片段中可以訪問(wèn)
  全局作用域:在代碼的任何地方都可以訪問(wèn)

全局作用域存在的幾種形式:
1.最外層函數(shù)和最外層函數(shù)外面定義的變量擁有全局作用域
2.所有未定義直接賦值的變量自動(dòng)具有全局作用域
3.所有window對(duì)象的屬性都擁有全局作用域

局部變量存在形式:
函數(shù)內(nèi)部聲明,并且以var修飾的變量是局部變量
函數(shù)的參數(shù)

作用域鏈:

在js中,萬(wàn)物皆對(duì)象,函數(shù)也是一個(gè)對(duì)象,擁有可以通過(guò)代碼訪問(wèn)的屬性和一系列的僅供js引擎所訪問(wèn)的內(nèi)部屬性,其中一個(gè)屬性就是[[scope]],[[scope]]中包含了函數(shù)被創(chuàng)建的作用域中對(duì)象的集合,這個(gè)集合就被稱為函數(shù)的作用域鏈,它決定了哪些數(shù)據(jù)能被訪問(wèn)

當(dāng)代碼在環(huán)境中執(zhí)行的時(shí)候,就會(huì)形成作用域鏈,他的用途是保證對(duì)執(zhí)行環(huán)境中有訪問(wèn)權(quán)限的變量和函數(shù)進(jìn)行有序訪問(wèn)
每個(gè)環(huán)境都可以向上搜索作用域鏈,以查詢變量和函數(shù)名,但任何環(huán)境都不能向下搜索作用域鏈而進(jìn)入另一個(gè)執(zhí)行環(huán)境

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 大家好,我是IT修真院鄭州分院第四期的學(xué)員王相博,一枚正直、純潔、善良的前端程序員 今天給大家分享一下,修真院官網(wǎng)...
    More_ce0d閱讀 908評(píng)論 5 5
  • 一、作用域 一個(gè)變量的作用域(scope)是程序源代碼中定義的這個(gè)變量的區(qū)域。 1. 在JS中使用的是詞法作用域(...
    掙脫吧小白閱讀 496評(píng)論 0 0
  • 目錄 1.靜態(tài)作用域與動(dòng)態(tài)作用域 2.變量的作用域 3.JavaScript 中變量的作用域 4.JavaScri...
    一縷殤流化隱半邊冰霜閱讀 7,266評(píng)論 37 113
  • 雖然我們已沒(méi)有任何關(guān)系 但當(dāng)我聽(tīng)情歌的時(shí)候還是偶爾會(huì)想起你 當(dāng)相思變成淡淡一想 當(dāng)纏綿變成不值得一提 我們已經(jīng)不可...
    我不隨流閱讀 155評(píng)論 0 1
  • 今天是2016年十二月十四號(hào),距離實(shí)習(xí)結(jié)束還有整整一個(gè)月,不知不覺(jué)中2016年下半年又快完了,耳機(jī)里在放著周杰倫的...
    過(guò)分美麗Mm閱讀 311評(píng)論 0 0

友情鏈接更多精彩內(nèi)容