如下一段代码:
var a = 'a';
say();
function say() {
console.log(a);
var a = 'b';
cosnole.log(a);
}
为何会返回undefined?
如下一段代码:
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);
}