什么是作用域?
- 作用域是可訪問變量的集合。
什么是函數(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ù).