前言

javascript中沒(méi)有塊級(jí)作用域(es6以前),javascript中作用域分為函數(shù)作用域和全局作用域。并且,大家可以認(rèn)為全局作用域其實(shí)就是Window函數(shù)的函數(shù)作用域,我們編寫的js代碼,都存放在Window函數(shù)內(nèi)(這是個(gè)假設(shè)),也就是說(shuō)javascript中只有函數(shù)作用域(前面假設(shè)做前提下)。

作用域是什么

作用域是一個(gè)盒子,盒子內(nèi)部的變量只能在當(dāng)前盒子中使用,作用域盒子是可以嵌套的,內(nèi)部盒子的變量對(duì)父級(jí)盒子是不可見(jiàn)的,因?yàn)楹凶臃忾]了他們并且盒子不透明,但是盒子可以看到父級(jí)盒子內(nèi)部定義的變量,因?yàn)閮?nèi)部這個(gè)盒子與父級(jí)的變量同處一個(gè)空間,他們是互相看得到的。就像css中的盒模型一樣。

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

以上這個(gè)圖分為3層作用域,全局作用域、foo函數(shù)作用域、bar函數(shù)作用域,我們可以清晰的看到三層作用域各自的范圍。

this是什么

我們經(jīng)常用到this,this是代表著什么?this是代表著當(dāng)前方法執(zhí)行的環(huán)境上下文,那么何為環(huán)境上下文,通俗的說(shuō),誰(shuí)調(diào)用了函數(shù),誰(shuí)就是這個(gè)函數(shù)的環(huán)境上下文。例如:

網(wǎng)友評(píng)論