js解析メカニズム分析
1878 ワード
今日は憧れの授業でjs進級の授業をして、心得を記録しました.
jsの解析メカニズムは、主に把握したい内容は彼の事前解析メカニズムです.
まず次のコードを見てください.
事前解析:
//まずはコードのvarを探します.
a=undefined//undefinedをvar定義のすべての変数に割り当てます.
それから、逐句解析コードです.
そして、aに値を賦課したところに来ました.
もし私たちが後にもう一つのコンサート・ソロ・ロゴ(a)を追加したら.
出力1まで可能です
二、関数の事前解析
a=undefined
コードに関数がある場合は、まず関数全体を解析に引き出します.
function fn(){consolie.log(a);a=2}
プリ解析が終わり、コードの読み込みを開始します.
まず関数です.事前解析時に宣言されたのでスキップします.
関数を呼び出して、最初の行はa=undefinedのため、印刷します.
関数にはvarがありません.直接にaに値2を割り当てます.グローバルで印刷されます.
次は正式な声明var a=1です.
印刷
まとめました
前解析のメカニズムは主にすべてのvarを発見し、変数の割り当て値undefinedを与えます.関数はそのまま呼び出します.二つの関数が一つの関数名を重複して使用したら最後の関数を事前解析します.var定義の変数と関数名が衝突すると、関数を残します.
jsの解析メカニズムは、主に把握したい内容は彼の事前解析メカニズムです.
まず次のコードを見てください.
console.log(a);
var a=1;
このコード出力の構造はundefinedです.事前解析:
//まずはコードのvarを探します.
a=undefined//undefinedをvar定義のすべての変数に割り当てます.
それから、逐句解析コードです.
console.log(a);
前解析ではa=undefinedですので、ここで出力するのはundefinedです.そして、aに値を賦課したところに来ました.
もし私たちが後にもう一つのコンサート・ソロ・ロゴ(a)を追加したら.
出力1まで可能です
二、関数の事前解析
function fn() {
console.log(a);
a=2;
}
fn();
console.log(a);
var a=1;
console.log(a);
第一歩または前解析:a=undefined
コードに関数がある場合は、まず関数全体を解析に引き出します.
function fn(){consolie.log(a);a=2}
プリ解析が終わり、コードの読み込みを開始します.
まず関数です.事前解析時に宣言されたのでスキップします.
関数を呼び出して、最初の行はa=undefinedのため、印刷します.
関数にはvarがありません.直接にaに値2を割り当てます.グローバルで印刷されます.
次は正式な声明var a=1です.
印刷
まとめました
前解析のメカニズムは主にすべてのvarを発見し、変数の割り当て値undefinedを与えます.関数はそのまま呼び出します.二つの関数が一つの関数名を重複して使用したら最後の関数を事前解析します.var定義の変数と関数名が衝突すると、関数を残します.