猿问

这个运行的结果是什么,为什么?

<!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>


开普勒
浏览 1604回答 3
3回答

beiciye

0;4这段代码定义了一个outerFun函数;这个函数内部声明a=0;调用时alert得到0调用了一次outerFun函数,第一次alert结果为0; 后面又声明a=4;alert出来的结果4

陌熙

先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.

狂飙的蜗牛_1

作用域问题;a=0是在函数内部定义的,所以是局部变量;第二个a为全局变量;
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答