0140 JavaScriptの範囲:概要、グローバルスコープ、関数スコープ、ブロックレベルのスコープ

1.1適用範囲の概要

通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。

2つの方法で適用範囲(ES6前)のJavaScript:

  • グローバルスコープ
  • ローカルスコープ(スコープ機能)

1.2グローバルスコープ

作用于所有代码执行的环境(整个 script 标签内部),或者一个独立的 js 文件。

1.3ローカルスコープ

作用于函数内的代码环境,就是局部作用域。 因为跟函数有关系,所以也称为函数作用域。
        var num = 10;
        var num = 30;
        console.log(num);
   
        function fn() {
            // 局部作用域
            var num = 20;
            console.log(num);
        }
        fn();

1.4 JSないブロックレベルのスコープ

  • {}ブロックスコープ含みます

  • (などのJava、C#の、など)if文、if文、ループ文で作成された変数は、のみのみ次のJavaコードとして、ループ文、この中には他のプログラミング言語で使用できます。

    Javaはブロックレベルのスコープを持っています:

    if(true){
      int num = 123;
      system.out.print(num);  // 123
    }
    system.out.print(num);    // 报错

    コード{}そのスコープ、前記変数宣言numは、使用の外部とすることができないので、Javaコードは、上記の「{}」。

    同様にJavaScriptコードが与えられていない状態。


いいえブロックレベルのスコープない(ES6用前)のJs

if(true){
  var num = 123;
  console.log(123); //123
}
console.log(123);   //123

おすすめ

転載: www.cnblogs.com/jianjie/p/12151703.html