js學習 一 預解析

2021-10-05 20:34:20 字數 1129 閱讀 9730

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...