上面的 javascript 代码每 2 秒以毫秒为单位返回时间,最多 10 次。
不,它没有。它time
立即调用并将其返回值传递给setTimeout
(它不会对它做任何事情),因为你有()
after time
。如果您有setTimeout(time, 2000)
,它将安排 10 次调用time
,但所有调用都会在大约 2 秒后发生(不是每两秒一次)。
所以我们将得到 10 个输出。我想将这些输出保存为 10 个变量
这就是数组的用途。:-)
var times = [];
function time() {
times.push((new Date).getTime());
if (times.length < 10) {
setTimeout(time, 2000);
}
}
setTimeout(time, 2000);
或者如果由于某种原因您不能time
直接修改:
var times = [];
function time() {
return (new Date).getTime();
}
function nextTime() {
times.push(time());
if (times.length < 10) {
setTimeout(nextTime, 2000);
}
}
setTimeout(nextTime, 2000);