js 理解變數宣告提前

2021-08-22 15:11:35 字數 914 閱讀 5003

console.

log(a); //不會出錯,會輸出undefined

var a=

100;

console.

log(a); //100;

由於從上往下執行時遇見了var,所以實際執行順序:

var a;  //宣告提前

console.log(a);//undefined

a=100;//賦值任然留在原位置

console.log(a);//100

function  fn();

fn();

console.log(a);// 報錯未定義!

實際執行:

function fn();

fn();

console.log(a); //報引用錯誤

console.log(fn());  //2

function fn()

實際執行:

var fn;

fn = function

console.log(

fn());

var a=123;

functiona()

console.log(a);

實際執行:

var a;

functiona()

a=123;

console.log(a); //123

變數宣告提前 總結 js

js在執行時,js變數宣告語句無論出現在何處,都會先於其他 首先被執行。使用var的宣告的變數會提前。先舉個例子看看 console.log a function a var a 3 var b function console.log a 3function a b console.log a 4...

js中變數宣告與變數提前

變數宣告 通過var表明變數的型別與名字,但並未賦值,如 var a 變數初始化 即為a賦值,如 a 1 使用變數步驟 a.宣告 b.賦值 3.呼叫 方式一 宣告和賦值不分離 var str 宣告和賦值不分離 console.log str 結果 宣告和賦值不分離 方式二 宣告和賦值分離 var s...

js 變數 函式宣告提前問題

1 變數宣告提前 看 function 以上 報錯 referenceerror a is not defined,這很好理解 根本就沒宣告當然報錯啦,往下看 function 以上 對於直譯器來說是下面這樣的,所以沒有報錯,且輸出了undefined function 再來看一中情況 functi...