JSのグローバル変数&ローカル変数


1 <script>

2     var i=10;  //    

3     j = 20;    //    

4 

5     function(){

6       var i=30; //    

7        h = 40;  //     

8     }

9 </script>
これにより一つの文をまとめることができます.関数の内部で定義されているのは局部変数です.そうでなければグローバル変数です.
1   <script>

2     var i =10;

3     function display(){

4       //var i = 20;//              

5       i= 30; //   ,  i     30

6     }

7     alert(i);//   10  30

8   </script>
関数内の変数はvar宣言がないと、グローバル変数に直接影響を及ぼします.
なぜvarの変数がないのですか?グローバルなのですか?
というのは、jsでは、ある変数にvar声明がないと、自動的に前のロールフィールドにこの変数のステートメント文を探しに行きます.見つけたら、呼び出します.見つかっていない場合は、グローバルスコープまで検索し続けます.グローバルスコープにはまだこの変数の声明文がない場合、自動的にグローバルスコープ内で声明が出されます.これはjs中のスコープです.
1   <script>

2    window.onload = function display(){

3       i= 30;

4     }

5     alert(i);

6   </script>
ポップアップの結果は30です.
この例を見てください.
 1 <script>

 2    var i = 10;

 3     function fn1(){

 4       i=100;

 5       function fn2(){

 6         i=1000;

 7         function fn3(){

 8           i=10000;

 9         }

10         fn3();

11       }

12       fn2();

13     }

14     fn1();

15     alert(i);

16 </script>
実行の結果は10000です.
今fn 1の中のi値をvar=100に変更したら.イジェクトiの値は:10;
ローカルアクセスグローバル使用スコープ
グローバルアクセスローカルは、クローズド関数シミュレーションを使用することができます.