function test() {
console.log(name);//undefined
var name = 'nicholas';
console.log(name); //nicholas
if (true) {
var name = 'matter';
console.log(name); //matter
}
console.log(name); //matter
}
test();
当我把函数体里面的内容单独写出来的时候
console.log(name);//matter
var name = 'nicholas';
console.log(name); //nicholas
if (true) {
var name = 'matter';
console.log(name); //matter
}
console.log(name); //matter
为什么第二段代码log出来的值是matter呢,放在函数里面是undefined是因为把var声明提前了。但是单独写出来为什么不是undefined或直接报错
- 初学js,请大佬们指点一下
- 大佬们轻喷~
正确结果如上,你得结果是错的