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)。
}