var my_var = 3;
function doIt() {
console.log( my_var ); //why undefined?
var my_var = 7;
return ++my_var;
}
doIt(); // returns 8 as expected
为什么 my_var 返回未定义而不是全局值 (3)?
var my_var = 3;
function doIt() {
console.log( my_var ); //why undefined?
var my_var = 7;
return ++my_var;
}
doIt(); // returns 8 as expected
为什么 my_var 返回未定义而不是全局值 (3)?
您在函数内部定义my_var
为局部变量。JavaScript将变量提升到作用域的顶部,因此您的函数实际上是这样的:
function doIt() {
var my_var;
console.log( my_var );
my_var = 7;
return ++my_var;
}