開普勒
2016-02-28 15:49:45
<!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條經(jīng)驗 獲得超5個贊
0;4這段代碼定義了一個outerFun函數(shù);這個函數(shù)內(nèi)部聲明a=0;調(diào)用時alert得到0
調(diào)用了一次outerFun函數(shù),第一次alert結(jié)果為0; 后面又聲明a=4;alert出來的結(jié)果4

陌熙
TA貢獻18條經(jīng)驗 獲得超24個贊
先alert出0,后alert出4;
原因:首先調(diào)用outerFun函數(shù),在函數(shù)中,定義了局部變量a=0;所以alert出4
??????????局部變量顧名思義是在某個局部有效,這里是在outerFun函數(shù)里面有效,所以調(diào)用outerFun時,alert出的a的值就是
????????? outerFun內(nèi)部定義的a的值,即0
????????? 都說了局部變量是在局部有效,所以,當alert(a)時,outerFun里面定義的a就是無效的。如果之后沒有定義a的值
????????,而alert出a的話,a就沒有值了,你這里重新定義了之后,就會alert出a的值是4.
添加回答
舉報
0/150
提交
取消