var i=setTimeout中的i為什么在函數(shù)中定義不起作用,要在函數(shù)外定義
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定義在一個(gè)函數(shù)內(nèi)時(shí)這個(gè)變量就是個(gè)局部變量。局部變量只能是函數(shù)內(nèi)調(diào)用。要想被其他的函數(shù)調(diào)用就必須把他設(shè)置成全局變量
2016-11-18
作用域