<script?type="text/javascript">
??var?num=0;
??var?i;
??function?startCount(){
????clearTimeout(i)
????document.getElementById('count').value=num;
????num=num+1;
????i=setTimeout("startCount()",1000)
???
??}
</script>主要問題是clearTimeout();這樣的,如果像上面那樣寫,那么就正常了,無論我在外面多少次調用這個函數,他的運行都是正常的,不會疊加。但如果變成這樣-----------<script type="text/javascript">? var num=0;? function startCount(){? ? clearTimeout(i)? ? document.getElementById('count').value=num;? ? num=num+1;? ? ?var i=setTimeout("startCount()",1000)? }</script>就是i變成局部變量,就出現問題了,多次調用函數會疊加,這是怎么理解了?變成局部變量也應該不會影響clearTimeout()的工作吧??
怎么理解這里出現的問題?
我要沖錢
2017-05-04 18:36:12