我想将setTimeout()输出保存为变量.
例如:
function time() {
return (new Date).getTime();
}
for (var x=0; x<10; x++) {
setTimeout( time() , 2000);
}
Run Code Online (Sandbox Code Playgroud)
上面的javascript代码每2秒返回时间(以毫秒为单位),最多10次.
所以我们将得到10个输出.我想将这些输出保存为10个变量.所以我将能够计算平均值等.
请任何帮助将不胜感激.
上面的javascript代码每2秒返回时间(以毫秒为单位),最多10次.
不,它没有.它time 立即调用并将其返回值传递给setTimeout(它不会对它做任何事情),因为你有()后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);
Run Code Online (Sandbox Code Playgroud)
或者,如果由于某种原因您无法time直接修改:
var times = [];
function time() {
return (new Date).getTime();
}
function nextTime() {
times.push(time());
if (times.length < 10) {
setTimeout(nextTime, 2000);
}
}
setTimeout(nextTime, 2000);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
892 次 |
| 最近记录: |