亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

重復聲明變量

var num = 0,i; function startCount(){ ? ?document.getElementById("count").value = num; ? ?num += 1; ? ? i = setTimeout("startCount()",100); ? ?} function stopCount(){ ? ? clearTimeout(i); ?} 這樣是ok的,但是把六行的i前面加上var,即var i = setTimeout("startCount()",100);就有問題呢?

正在回答

4 回答

你在第六行的i前面加上var,對于startCount()來說他是個局部變量,那么在stopCount()中的i的值只能是第一行中的全局變量i而不能用局部變量中的i;也可以理解為一個函數的局部變量不能在另一個函數中直接引用

0 回復 有任何疑惑可以回復我~

我試了你的代碼了,加上var也還是能正常運行的啊。感覺樓上那幾個都是扯犢子,var只是聲明變量而已,怎么還可能影響他的作用域。

0 回復 有任何疑惑可以回復我~

1樓正解 ? ? ?你前面聲明的i的在

<script type="text/javascript"></script> 內 都有效?


0 回復 有任何疑惑可以回復我~

i是全局變量,函數內不能聲明和i名字一樣的變量

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468832    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

重復聲明變量

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號