第一章のスコープは何ですか?

806 ワード

1.1コンパイルの原理
コンパイラ言語
  • 分詞/品詞分析
  • 解析/文法解析
  • コード生成
  • Javascriptにとっては、コードの前の数マイクロ秒(さらに短い!)の時間で発生する場合が多い.私たちが議論するスコープの背後には、Javascriptエンジンがあらゆる方法を使っています.例えばJITは、コンパイルを遅らせたり、コンパイルをしたりすることができます.
    1.2スコープの理解
    1.2.1キャスト表
  • エンジン
  • コンパイラ
  • 作用領域
  • 1.2.2会話
    変数の割り当て操作は2つの動作を行います.まず、コンパイラは現在のスコープで変数を宣言します.(前に宣言されていない場合)実行時にエンジンがスコープ内で変数を検索します.見つけたら値を割り当てます.
    1.2.3コンパイラで話しています.
    割り当て操作の目標は誰ですか?(LHS)
    操作の元は誰ですか?(RHS)
    a=2はLHS参照です
    consolone.log(a)はRHS参照です
    1.2.4エンジンとスコープの対話
    1.2.5小テスト
    今までの理解度をチェックします.自分をエンジンにして、同じフィールドで「会話」をする:
    function foo(a) {
      var b = a;
      return a + b;
    }
    var c = foo( 2 );
    
  • は、その中のすべてのLHSクエリを見つける.(ここに3箇所あります!)c=.;a=2(暗黙的変数割り当て)、b=.
  • は、RHSクエリのすべてを見つける.(ここに4箇所あります!)foo(2.、=a;、a.、.b
  • 1.3作用域ネスト