變量可以重復賦值,不是說瀏覽器從上往下解析嗎,為啥顯示的值總是最后一個
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>變量</title>
<script type="text/javascript">
??? var a="I know";
??? var a="I don't know";
??? document.write(a);
</script>
</head>
<body>
</body>
</html>
2016-09-02
當執(zhí)行到?var a="I don't know";的時候a會被重新賦值
2016-09-02
當你第二次給變量a賦值的時候,第一次的值就被覆蓋了,也就是說a的值發(fā)生了變化。你可以在第一次賦值的時候做一些測試,例如:var a="I know";document.write(a);此時頁面顯示I know;然后在var a="I don't know";后面再一次document.write(a);此時的結果就是I don't know。
正如你所說,瀏覽器從上往下解析,當解析到你第一次給變量賦值的時候,變量的值是I know,這時候你下面要用到這個變量的時候,瀏覽器就會知道,哦,你是想要使用I know這個值,但是繼續(xù)往下解析,瀏覽器看到你又一次給同一個變量賦了一個新值I don't know,它就會認為從你重新賦值開始,下面所有需要用到這個變量的時候,它的值已經(jīng)改變了。
這里所說的重復賦值,不是同時在起作用,而是你給變量重新賦了一個新值
2016-09-02
額 這里不顯示最后一個 ?那應該是? ?而且這里顯然是對a二次聲明賦值了。