【发布时间】:2014-12-19 16:00:18
【问题描述】:
我有一个简单的 JavaScript 函数,如下所示:
countDown();
function countDown() {
var count = 10;
document.write(count);
if (count > 0) {
count = count-1;;
setTimeout(countDown, 1000);
}
}
为什么变量count 永远不会改变?这个功能永远不会结束。 . .
【问题讨论】:
-
每次调用
countDown时,都会重置计数值。尝试将var count放在函数之外,使其具有全局范围。 -
每次递归计数将重置为 10。
-
不要使用
document.write。特别是在文档完成加载之后。请参阅spec 中的警告。 -
你不应该在函数内部设置
var count。你重新初始化变量
标签: javascript function settimeout