"document.write can be a form of eval"?

"document.write can be a form of eval"?

我是 JavaScript 的新手,正在尝试编写执行以下操作的代码: 编写一些代码,将“1”写入控制台,然后 1 秒后将“2”写入控制台,然后 2 秒后将“3”写入控制台,...,直到到达"10".
我已经尝试了 setTimeout 和 setInterval + 与 setTimeout 的结合,我似乎得到了同样的持续错误:document.write 可以是 eval 的一种形式。这是什么意思,有什么不同的方法可以对此进行编码以实现我正在寻找的结果吗?

var count = 1;
  setTimeout(function () {
    document.write(count);
    count += 1;
  }, 1000;
  print {
    document.write(10), 10000
  });

我知道有时当我有一个未定义的参数时会发生这种情况,但在这种情况下,我认为计数已定义?

根据你的问题,我会采取一些不同的方法。 这会起作用,但我不完全确定这就是您要找的东西

var run = function(start, stop){//In your case, start is 1 and stop is 10
  var currentPos = start;
  var loop = function(){
    setTimeout(function(){
      document.write(currentPos + "<br/>");
      if(++currentPos <= stop)
        loop();
    }, (currentPos - 1) * 1000);
  }
  loop();
}
run(1, 10);

var limit = 10,
  i = 0;

function step() {
  setTimeout(function() {
    if (i < 10) console.log(++i);
    step();
  }, 1000);

}

step();

http://codepen.io/anon/pen/YXxwxB

我知道这是一个老问题,但我只想指出只有 Amr Morsy 使用了正确的输出,但没有解释原因。 原始问题指出:“编写一些代码,将“1”写入控制台,然后 1 秒后将“2”写入控制台,然后 2 秒后将“3”写入控制台,......,直到它得到到“10”。 控制台是内置于某些(所有?)浏览器中的 Web 开发工具的一部分,可让您查看幕后内容。对于 Firefox,按住 Shift 和 Ctrl 的同时点击 k,它就会出现。 您使用 console.log().

写入控制台