為什么把變量time聲明放在函數(shù)體外,按start就不能進行計時?
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>計時器1</title>
<script type="text/javascript">
?var time=new Date();
? ?function clock(){ ? ? ?
? ?//var time=new Date(); ?
? ? ? document.getElementById("clock").value = time;
? ?} ?
? ?var i;
? ?function start() {
? clearInterval(i);
i=setInterval(clock,100);?
? ? }
function stop() {
clearInterval(i);
}
</script>
</head>
<body>
? <form>
? ? <input type="text" id="clock" size="50" ?/>
? ? <input type="button" value="Stop" onclick="stop()" />
? ? <input type="button" value="Start" onclick="start()" />
? </form>
</body>
</html>
2017-07-25
你time 移出這個函數(shù)外面,那么這個time的賦值就只執(zhí)行過一次,那就是頁面加載好的那一次,而clock函數(shù) 執(zhí)行的過程中調(diào)用的是沒有變化過的time; 你要讓沒100毫秒獲取的是當前的time,所以time要放入函數(shù)中;
2017-07-17
因為var time=new Date();獲取的是當前時間,如果想計時,就必須多次執(zhí)行這行代碼,每次都獲取的是當前的時間,然后寫入到input框中,這就是為什么要放入function 中 通過setInterval()多次觸發(fā)。 ? 如果放在函數(shù)外面,那就只能觸發(fā)一次,也就談不上時間的改變了,自然就無法計時了
2017-07-15