为什么这个简单的脚本永远不会结束

时间:2014-12-19 16:00:19

标签: javascript function settimeout

我有一个简单的JavaScript函数,如下所示:



countDown();

function countDown() {

  var count = 10;

  document.write(count);

  if (count > 0) {
    count = count-1;;
    setTimeout(countDown, 1000);
  }

}




为什么变量count永远不会改变?这个功能永远不会结束。 。

1 个答案:

答案 0 :(得分:6)

因为countDown()函数在每次调用时都将变量count设置为10。稍微改变范围将使该函数按照您的意图行事。

var count = 10;

countDown();

function countDown() {

  document.write(count);

  if (count > 0) {
    count = count-1;;
    setTimeout(countDown, 1000);
  }

}