事前解析関数と変数

JS 1.jsエンジンは二つのステップで実行される、事前解析コードの実行

  また、関数varがすべて現在のスコープの上部まで上昇させ、(1)事前解析されたJSのJSエンジン

  (2)コードは実行コードから順に行われるダウン書かれています

2.変数事前解決(リフト変数)と事前解析された機能(関数を持ち上げる)に予め解析されました

  (1)変数は代入を上げていない現在のスコープの先頭に発生したすべての変数宣言をアップグレードすることです

  (2)関数を呼び出していない現在のスコープの先頭に発生したすべての関数宣言の機能を強化することです

ケース1 :(可変リフト)

  console.log(NUM)。//未定義  

  VAR NUM = 10;

  それはと同等です。

    そこNUM;

    console.log(NUM)。

    = 10;

ケース2 :(機能のアップグレード)

  FN(); // 11

  関数fn(){

    console.log(11)。

  }

  それはと同等です。

    関数fn(){

      console.log(11)。

    }

    FN();

ケース3 :(関数式)

  楽しいです(); //报错:楽しみは関数ではありません

  VaRの楽し=機能(){

    console.log(22)。

  }

  それはと同等です。

    楽しみを持っています。

    楽しいです();

    楽しい=関数(){

      console.log(22)。

    }

おすすめ

転載: www.cnblogs.com/qtbb/p/11567242.html