如下一段代碼:
var a = 'a';
say();
function say() {
console.log(a);
var a = 'b';
cosnole.log(a);
}
為何會返回undefined?
var申明的變量會預定義賦值為undefined,訪問的並不是window下的a,你的代碼等價於下面的
function say() {
var a=undefined;
console.log(a);
a = 'b';
cosnole.log(a);
}
javascript運行機制