js學習(一):預解析
1.js引擎執行js分為兩步:預解析 執行**
(1)預解析
js引擎將js裡面所有的var和function提公升到當前作用域的最前面
(2)**執行
按照**書寫的順序從上往下執行
2.預解析分為 變數預解析和函式預解析
(1)變數預解析
』把所有的變數宣告提公升到當前作用域最前面 不提公升賦值操作
(2)函式與解析
把所有函式宣告提公升到當前作用域最前面 不呼叫函式
console.log(num) //瀏覽器報錯
console.log(num) //undefined
var num=10;
//相當於執行以下**
var num;
console.log(num) //undefined
num=10;
fn();
function fn() //瀏覽器輸出11
fun();
var fun=function() //瀏覽器報錯
//相當於執行了以下**
var fun;
fun();
fun=function()
預解析案例:
var num=10;
fun();
function fun()//結果undefined
//執行過程
var num;
function fun()
num=10;
fun();
f1();
console.log(c);
console.log(b);
console.log(a);
function f1()
//相當於
function f1()
f1();
console.log(c);//9
console.log(b);//9
console.log(a);//瀏覽器報錯,a is not defined
JS學習之預解析
doctype html utf 8 js預解析 title 情況一 報錯,num未定義 情況二 坑1 console.log num undefined var num 10 由於 執行是先解析再執行 所以上面的 等價於 var num console.log num num 10 由於num在定...
js基礎 預解析
預解析 1.js引擎執行js分為兩步 預解析和 執行 1 預解析 js引擎會把js裡面所有的var 還有function 提公升到當前作用域的最前面 2 執行 按照 書寫的順序從上往下執行 2.預解析分為變數預解析 變數提公升 和函式預解析 函式提公升 1 變數提公升 就是把所有的變數宣告提公升到當...
js函式預解析
js直譯器在執行js 時,分為兩步 預解析 var和function宣告的變數和函式,將變數或函式提公升至當前作用域的最前面 2.逐行執行 例1 function fun fun 輸出 undefined 原因 使用var 宣告的num 進行了函式內作用域提公升,預解析後,如下 function f...