js全局變量和局部變量


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

運行結果 undefined

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

運行結果  guanxi

代碼分析  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>

運行結果  yuanjianhang

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

運行結果  guanxi

代碼分析 function內i沒加var 代表全局變量,所以alert(i)在變量賦值之前,輸出yuanjianhang

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為全局變量

PS:全局變量可以不聲明var 函數內變量必須聲明var,在定義全局變量時加或不加var關鍵字沒什么影響;但在定義局部變量時如果不加var關鍵字javascript解釋程序會將其解釋為全局變量。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM