JS作用域鏈詳解
本文實(shí)例為大家分享了JS作用域鏈的相關(guān)內(nèi)容,供大家參考,具體內(nèi)容如下
1、所有全局變量和函數(shù)都是作為window對(duì)象的屬性和方法創(chuàng)建的。
2、在某個(gè)方法函數(shù)的作用域中,所有代碼執(zhí)行完之后,該作用域被銷(xiāo)毀,保存在其中的所有變量和函數(shù)定義也會(huì)隨著被”銷(xiāo)毀“,這就是局部作用域。但閉包不會(huì)銷(xiāo)毀局部變量。
這里的銷(xiāo)毀:是指下次再執(zhí)行此函數(shù)的時(shí)候,所有的變量又回到最初的狀態(tài)
var color = "blue"; function changeColor(){ var anothercolor = "red"; if(color==="blue"){ color = anothercolor; } //這里可以訪問(wèn)anothercolor,color } //這里只可以訪問(wèn)color changeColor(); console.log(color);//red console.log(anothercolor); // undefined。anothercolor是函數(shù)changeColor的局部變量,在整個(gè)函數(shù)運(yùn)行之后已經(jīng)被“銷(xiāo)毀”
3、變量的聲明注意點(diǎn)
function ddq(){ alert(i) var i=11 alert(i) } ddq() // 第一個(gè)返回underfind //第二個(gè)返回11
這段代碼相當(dāng)于
function ddq(){ var i alert(i) i=11 alert(i) } ddq()
注意點(diǎn):在一個(gè)函數(shù)內(nèi)部的聲明變量時(shí)(在調(diào)用之后),就相當(dāng)于先申明,調(diào)用后賦值。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
javascript中的類(lèi),繼承,構(gòu)造函數(shù)詳解
這篇文章主要為大家詳細(xì)介紹了javascript中的類(lèi),繼承,構(gòu)造函數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-02-02TypeScript對(duì)于Duck類(lèi)型和模塊命名空間應(yīng)用
這篇文章主要介紹了TypeScript對(duì)于Duck類(lèi)型和模塊命名空間應(yīng)用,Duck類(lèi)型是一種動(dòng)態(tài)類(lèi)型和多態(tài)形式,在duck類(lèi)型中,重點(diǎn)是對(duì)象的行為可以做什么,而不是對(duì)象所屬的類(lèi)型2022-08-08通過(guò)實(shí)例解析json與jsonp原理及使用方法
這篇文章主要介紹了通過(guò)實(shí)例解析json與jsonp原理及使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09JavaScript與C# Windows應(yīng)用程序交互方法
JavaScript與C# Windows應(yīng)用程序交互方法...2007-06-06Bootstrap table簡(jiǎn)單使用總結(jié)
這篇文章主要為大家總結(jié)了Bootstrap table的簡(jiǎn)單使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02一篇文章教你用JavaScript使用流程控制打印九九乘法表
這篇文章主要為大家詳細(xì)介紹了JavaScript使用流程控制打印九九乘法表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-02-02