js變量的做用域

js全局變量和局部變量javascript

 

1 <script>
2 var i = 'yuanjianhang';
3  function myloveName() {
4     alert(i);  
5     var  i = 'guanxi';
6 
7  }
8  myloveName();
9 </script>

 

運行結果 undefinedhtml

 

1 <script>
2 var i = 'yuanjianhang';
3  function myloveName() {
4    var  i = 'guanxi';
5     alert(i);  
6  }
7  myloveName();
8 </script>

 

運行結果  guanxijava

代碼分析  function內 加上var 表明局部變量,聲明的局部變量名稱和外部的全局變量名稱相同,可是與外部的i是沒有關係的,只是名稱相同而已,因此alert(i)在,局部變量定義以前會輸出undefined.函數

 

1 <script>
2 var i = 'yuanjianhang';
3  function myloveName() {
4     alert(i);  
5     i = 'guanxi';
6 
7  }
8  myloveName();
9 </script>

 

運行結果  yuanjianhanghtm

 

1 <script>
2 var i = 'yuanjianhang';
3  function myloveName() {
4     
5     i = 'guanxi';
6     alert(i);  
7  }
8  myloveName();
9 </script>

 

運行結果  guanxiblog

代碼分析 function內i沒加var 表明全局變量,因此alert(i)在變量賦值以前,輸出yuanjianhangip

 

1 <script>
2  i = 'yuanjianhang';
3  function myloveName() {
4     a = 'guanxi';
5  }
6  myloveName();
7 alert(a);
8 //document.write(a);
9 </script>

 

運行結果  guanxi  代碼分析a爲全局變量ci

PS:全局變量能夠不聲明var 函數內變量必須聲明var,在定義全局變量時加或不加var關鍵字沒什麼影響;但在定義局部變量時若是不加var關鍵字javascript解釋程序會將其解釋爲全局變量。get

相關文章
相關標籤/搜索