開(kāi)心每一天1111
2019-03-05 13:15:00
var a = 100var b = function() { console.log(a) var a = 1;}b()var a = 100var b = function() { var a = 1; console.log(a)}b()第一段代碼打印undefined 第二段代碼打印1。 我的問(wèn)題是第一段不應(yīng)該打印1嗎,因?yàn)橘x值聲明會(huì)提前于執(zhí)行語(yǔ)句,即使不打印1應(yīng)該打印全局a的那個(gè)值 100?
4 回答

揚(yáng)帆大魚(yú)
TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊
js執(zhí)行順序
var a;
var b;
a = 100
b = function() {
var a;
console.log(a)
a = 1;
}
b()
a = 100
b = function() {
var a;
a = 1;
console.log(a)
}
b()

GCT1015
TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊
我僅說(shuō)第一段代碼(相當(dāng)于這樣執(zhí)行的):
var a = 100
var b = function() {
var a; //變量聲明提升
console.log(a); //這時(shí)打印應(yīng)為undefined
a = 1;
}
b()
添加回答
舉報(bào)
0/150
提交
取消