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