JavaScriptの中の語法のスコープ
472 ワード
JavaScriptでは、作用域には2つの主要な動作モードがあり、第一は語法の作用域であり、もう一つはダイナミックレンジと呼ばれる.
大部分の標準言語コンパイラの最初の仕事は語法化といい、つまりソースコードの文字を検査し、そして状態の解析過程があれば単語に意味を与える.だから、語法の作用域は語法の段階での作用域を定義することです.コードを書く時に変数とスコープをどこに書くかによって決められます.したがって、構文解析器はスコープをそのまま維持します.
くりを一つあげる:
大部分の標準言語コンパイラの最初の仕事は語法化といい、つまりソースコードの文字を検査し、そして状態の解析過程があれば単語に意味を与える.だから、語法の作用域は語法の段階での作用域を定義することです.コードを書く時に変数とスコープをどこに書くかによって決められます.したがって、構文解析器はスコープをそのまま維持します.
くりを一つあげる:
var a = 1;
function demo() {
alert(a);
}
~function(){
var a = 2;
demo(); // 1
}()
demo()
関数がイジェクトするaは1であり、2ではない.匿名関数の内部定義a変数が成功していないことを示す.変数aはコンパイラの実行段階でaが確定されています.これ以上ダイナミックに変化しません.