我有一个计时器功能,它每 2 秒在弹出窗口中提醒一个文本“你好,欢迎”。我还有一个功能可以清除计时器间隔,以便在第 10 秒停止弹出。
当我使用 clearInterval 函数行时,弹出框显示停止
setTimeout(function() {clearInterval(x); },10000);
但是当我使用 settimeout 函数时,弹出框显示并没有停止
setTimeout("clearInterval(x);",10000);
但是,如果我使用 settimeout 函数通过将内置函数直接定义为来显示弹出窗口 setTimeout("alert('hello, welcome');",2000); // works properly
您能否解释一下为什么上述两行的 settimeout 函数的行为不同。请在下面找到我的代码。
<html>
<head>
<script type='text/javascript' >
function testclear()
{
var x = setInterval("alert('hello, welcome');",2000);
setTimeout(function() { clearInterval(x); },10000);
// setTimeout("clearInterval(x);",10000);
}
</script>
</head>
<body>
<input id='txt' onchange='testclear()' />
</body>
</html>