JavaScript var let 違い - JavaScriptにおける変数のスコープとは? #3

JavaScript var 型 / javascript / function / variables / scope / var

Read Question

John Slegers



Answer #3

グローバル変数は、まさにグローバルスター(ジャッキー・チェン、ネルソン・マンデラ)のようなものです。アプリケーションのどの部分からでもアクセス(値の取得や設定)することができます。グローバル関数は、グローバルイベント(New Year,Christmas)のようなものです。アプリケーションのどの部分からでも、これらを実行(呼び出す)ことができます。

//グローバル変数
var a = 2;

//グローバル関数
function b(){
   console.log(a);  //グローバル変数にアクセスします
}

ローカル変数は、ローカルスターのようなものです。そのスコープの中でしかアクセス(値の取得や設定)できません。ローカル関数は、ローカルイベントのようなもので、そのスコープ内でのみ実行(お祝い)することができます。スコープの外からアクセスしようとすると、参照エラーになります

function b(){
   var d = 21; //ローカル変数
   console.log(d);

   function dog(){  console.log(a); }
     dog(); //ローカル関数を実行します
}

 console.log(d); // ReferenceError:ddddddが定義されていません