JavaScript函數(shù)作用域與作用域鏈

什么是作用域?

  • 作用域是可訪問變量的集合。
什么是函數(shù)作用域?

函數(shù)內(nèi)聲明的所有變量在函數(shù)體內(nèi)始終是可見的,而在函數(shù)外部不能訪問

        function getSome() {
            var num = 1;
            return num;
        };
        console.log(getSome()); //1
        console.log(num); //num is not defined

什么是作用域鏈?它的作用和特點(diǎn)是什么?

JavaScript里一切都是對(duì)象。函數(shù)也是對(duì)象,,擁有可以通過代碼訪問的屬性和一系列僅供JavaScript引擎訪問的內(nèi)部屬性。其中一個(gè)內(nèi)部屬性是[[Scope]],該內(nèi)部屬性包含了函數(shù)被創(chuàng)建的作用域中對(duì)象的集合.
作用 : 保證對(duì)執(zhí)行環(huán)境有權(quán)訪問所有變量和函數(shù)的有序訪問,它的下一個(gè)變量對(duì)象來自外部環(huán)境,而下一個(gè)變量對(duì)象則來自于下一個(gè)包含環(huán)境,直到全局執(zhí)行環(huán)境


特點(diǎn) :作用域鏈只能支持向上搜索,而不支持向下搜索,就是當(dāng)前執(zhí)行環(huán)境中可以訪問其包含環(huán)境中的變量和函數(shù),而不可以訪問其被包含環(huán)境中的變量和函數(shù).

?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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