为了账号安全,请及时绑定邮箱和手机立即绑定

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)"/>

这样就可以了,为什么

正在回答

2 回答

你把var  i定义在一个函数内时这个变量就是个局部变量。局部变量只能是函数内调用。要想被其他的函数调用就必须把他设置成全局变量

0 回复 有任何疑惑可以回复我~

作用域

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

var i=setTimeout中的i为什么在函数中定义不起作用,要在函数外定义

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信