第一章のスコープは何ですか?
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小テスト
今までの理解度をチェックします.自分をエンジンにして、同じフィールドで「会話」をする:は、その中のすべてのLHSクエリを見つける.(ここに3箇所あります!)c=.;a=2(暗黙的変数割り当て)、b=. は、RHSクエリのすべてを見つける.(ここに4箇所あります!)foo(2.、=a;、a.、.b 1.3作用域ネスト
コンパイラ言語
1.2スコープの理解
1.2.1キャスト表
変数の割り当て操作は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 );