var i=setTimeout中的i為什么在函數中定義不起作用,要在函數外定義
var num=0;
function rec(){
document.getElementById("txt").value=num;
num+=1;
? ? var i=setTimeout(rec,300);
}
setTimeout(rec,300);
</script>
</head>
<body>
<input type="text" id="txt">
<input type="button" value="stop" onclick="clearTimeout(i)"/>
這樣不行
var num=0,i;
function rec(){
document.getElementById("txt").value=num;
num+=1;
? ? i=setTimeout(rec,300);
}
setTimeout(rec,300);
</script>
</head>
<body>
<input type="text" id="txt">
<input type="button" value="stop" onclick="clearTimeout(i)"/>
這樣就可以了,為什么
2017-01-24
你把var ?i定義在一個函數內時這個變量就是個局部變量。局部變量只能是函數內調用。要想被其他的函數調用就必須把他設置成全局變量
2016-11-18
作用域