<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<script>
function outerFun()
{
var a =0;
alert(a);
}
var a=4;
outerFun();
alert(a);
</script>
</head>
</html>
3 回答
beiciye
TA贡献4条经验 获得超5个赞
0;4这段代码定义了一个outerFun函数;这个函数内部声明a=0;调用时alert得到0
调用了一次outerFun函数,第一次alert结果为0; 后面又声明a=4;alert出来的结果4
陌熙
TA贡献18条经验 获得超24个赞
先alert出0,后alert出4;
原因:首先调用outerFun函数,在函数中,定义了局部变量a=0;所以alert出4
局部变量顾名思义是在某个局部有效,这里是在outerFun函数里面有效,所以调用outerFun时,alert出的a的值就是
outerFun内部定义的a的值,即0
都说了局部变量是在局部有效,所以,当alert(a)时,outerFun里面定义的a就是无效的。如果之后没有定义a的值
,而alert出a的话,a就没有值了,你这里重新定义了之后,就会alert出a的值是4.
添加回答
举报
0/150
提交
取消