本文實例為大家分享了JS作用域鏈的相關內容,供大家參考,具體內容如下
1、所有全局變量和函數都是作為window對象的屬性和方法創建的。
2、在某個方法函數的作用域中,所有代碼執行完之后,該作用域被銷毀,保存在其中的所有變量和函數定義也會隨著被”銷毀“,這就是局部作用域。但閉包不會銷毀局部變量。
這里的銷毀:是指下次再執行此函數的時候,所有的變量又回到最初的狀態
var color = "blue";function changeColor(){  var anothercolor = "red";  if(color==="blue"){    color = anothercolor;  }        //這里可以訪問anothercolor,color         }    //這里只可以訪問colorchangeColor();console.log(color);//redconsole.log(anothercolor);// undefined。anothercolor是函數changeColor的局部變量,在整個函數運行之后已經被“銷毀”3、變量的聲明注意點
function ddq(){ alert(i)var i=11 alert(i) }ddq()// 第一個返回underfind//第二個返回11這段代碼相當于
function ddq(){ var i alert(i) i=11 alert(i) }ddq()注意點:在一個函數內部的聲明變量時(在調用之后),就相當于先申明,調用后賦值。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答