请问下面的函数 a 输出什么? 为什么是这个值?
[code="java"]var i = 3;
function a(){
alert("i = " + i);
var i = 5;
}
a();[/code]
javascript 局部变量输出undefined?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
jinnianshilongnian 2013-05-22 07:37关注var i = 3;
function a(){
alert("i = " + i);
var i = 5;
}
a();因为javascript的变量提前声明特性 即如上代码等价于
var i = 3;
function a(){
var i;
alert("i = " + i); //此时就是undefined了
i = 5;
}
a();说白了 变量声明都会在函数开头完成 不管你怎么写的
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报