(JavaScript)-スキャン(Scope)


Scopeとは?


  • 英語では範囲、分野の意味です.

  • JavaScriptでは、Scopeは変数の寿命を意味します.

  • グローバルスキャンとゾーンスキャンに分けます.

    グローバルスキャン



  • の双曲線コサインを返します.

  • これらのグローバル変数は、プログラムの任意の領域からアクセスできます.これらの変数は、Webページが閉じるとメモリから消えます.
  • var globScope = 'global';
      function fscope(){
    
         alert(globScope);
    }
    fscope();
  • 結果:「global」
  • 関数の外で変数が宣言された場合、この変数はグローバル変数です.
  • グローバル変数は、アプリケーションがグローバルにアクセスできる変数です.
  • ゾーンスキャン

  • 関数の内部の範囲.
  • 関数の内部でのみ有効で、関数が終了するとメモリから消えます.
  • function fscope(){
      var num = 10;
    
         alert(num);
    }
    fscope();

  • 結果:10

  • JavaScriptでゾーン変数を宣言する場合は、varキー宣言を使用する必要があります.

  • varキーを使用せずに関数で変数を宣言すると、その変数は領域変数ではなくグローバル変数として宣言されます.
  • var vscope = 'global';
     function fscope(){
        vscope = 'local';
           alert('함수 내부'+vscope);
       }fscope();
    	alert('함수 외부'+vscope);

  • 結果:まず「関数内部local」を実行します.

  • グローバル変数とゾーン変数が同じ名前で定義されると、ゾーン変数が呼び出されます.
  • var scope = 'global'; //전역변수
      function fscope(){
           var scope = 'local'; //지역변수
           alert(scope);
       }fscope();
  • 結果:「local」
  • LexicalScope(LexicalScope)

  • JavaScriptには、関数宣言時の有効範囲があります.
  • このような有効範囲の方式を静的有効範囲(静的範囲)または(語彙範囲)と呼ぶ.
  • 、すなわち、位相は、どこで宣言された関数に基づいて決定される.
  • var i = 5;
      function a(){
          var i=10;
          b();
      }
      function b(){
          alert(i);
      }a();
  • 関数bには領域変数が存在せず、グローバル変数を探す.
  • 関数bが宣言されると、iのグローバル変数はvari=5である.
  • したがって、結果は5です.ソース
    http://tcpschool.com/javascript/js_function_variableScope
    https://www.inflearn.com/course/%EC%A7%80%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%96%B8%EC%96%B4-%EA%B8%B0%EB%B3%B8/lecture/2524?tab=curriculum
    個人学習