fun();
var num = 10;
function fun(){
console.log(num);
var num = 20;
}
结果为什么是undefined?那个大神能说说过程?
fun();
var num = 10;
function fun(){
console.log(num);
var num = 20;
}
结果为什么是undefined?那个大神能说说过程?
var在其作用域内会首先申明赋值undefined,执行到对应的语句才会执行赋值,你这个问题还有个变量作用域的问题,fun中使用的是内部的num,而不是window下的num
等价于下面的
var num =undefined;
fun();
num = 10;
function fun(){
var num =undefined;
console.log(num);
num = 20;
}