123woscc
2015-07-23 22:56
var num=0; function startCount() { document.getElementById("second").value=num; num=num+1; var i=setTimeout("startCount()",1000); } function stopCount(){ clearTimeout(i);
如上,如果我将 var i 写在函数内执行时停不下来,但是若将var i写在函数外,像这样:
var num=0;
var i;
function startCount()
{
document.getElementById("second").value=num;
num=num+1;
i=setTimeout("startCount()",1000);
}
function stopCount(){
clearTimeout(i);
}
则可以运行,这是为什么?
将 var i 写在函数内是局部变量,i只对该函数内起作用,也就是只起一个局部变量的作用,所以它只有setTimeout的作用,外部的函数的clearTimeout对i无调用的作用。
若将var i写在函数外,它就是一个全局变量。
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题