初學(xué)JavaScript,下面這段代碼,第一次點擊按鈕的時候,timer1的值是傳入的2000,然后用計時器t調(diào)用,timer1的值就變?yōu)槌跏贾?000了,為什么傳入的2000會被初始值1000覆蓋呢?<html><head> <script type="text/javascript"> var timer1=1000; function startTime(timer1) { var today = new Date() var h = today.getHours() var m = today.getMinutes() var s = today.getSeconds() document.getElementById('txt').innerHTML = h + ":" + m + ":" + s t = setTimeout('startTime(timer1)', timer1); console.log('timer1的值為 '+timer1) } </script></head><!--body onload="startTime()"--><div id="txt">此處顯示時間</div><button onclick='clearTimeout(t)'> 點我停止 </button><button onclick="startTime(2000)">點我開始</button></body></html>
1 回答

蝴蝶刀刀
TA貢獻(xiàn)1801條經(jīng)驗 獲得超8個贊
你這樣寫法 第一次調(diào)用實參2000 傳入 作用域里面timer1為2000
但是 第二次函數(shù)內(nèi)部調(diào)用startTime(timer1) 此時傳入的timer1值為全局變量1000