var声明的变量是可以变量提升的,但是赋值并不能同时提升:
function foo() {
console.log(x) //undefined
var x = 1;
}
等同于下面的代码
function foo() {
var x;
console.log(x) //undefined
x = 1;
}
所以x的输出为undefined
var声明的变量是可以变量提升的,但是赋值并不能同时提升:
function foo() {
console.log(x) //undefined
var x = 1;
}
等同于下面的代码
function foo() {
var x;
console.log(x) //undefined
x = 1;
}
所以x的输出为undefined