JavaScript-エピソード - プリコンパイル

プリコンパイル済み

プリコンパイルされたプロセスは、関数の実行の直前に発生しました

プリコンパイル済みtetralogy

1、AOは、オブジェクトの作成
2、およびパラメータ変数の宣言、変数パラメータ名とオブジェクトAOとしてプロパティ名を見つけ、未定義である;
3、仮パラメータと実パラメータ結束
機能本体関数宣言を見つける4 、関数の値が付与部材

JavaScriptの教育ビデオ交差からマイルマイルビープビープ
https://www.bilibili.com/video/av64563473?p=11を
52ポイントのルックスから

 // 预编译过程发生在函数执行的前一刻
    // 编译四部曲
    // 1,创建AO对象
    // 2,找形参和变量声明,将变量和形参名作为AO对象的属性名, 值为undefined;
    // 3,将形参和实参相统一
    // 4,在函数体里面找函数声明,值赋予函数体

    function test(a) {
      console.log(a);
      var a = 123;
      console.log(a);
      function a() {};
      console.log(a);
      var b = function () {};
      console.log(b);
      function d() {};
    }
    test(10);

出力

一般的に単純なプロセス(書き込みは非常に簡単には)ビデオを見てお勧めします

おすすめ

転載: www.cnblogs.com/yohe/p/12461708.html