在javascript数组

时间:2017-12-14 18:08:16

标签: javascript timer console

我正在尝试使用console.Time()和console.timeEnd()记录反应时间,并将值存储在数组中。

正确的值显示在控制台中,但它们未能存储在我已创建的全局变量中。

我正在尝试使用两个函数,一个在主体加载时启动计时器,另一个在用户按下第一个键时结束计时器。控制台将写入合理的值(例如,1200.30毫秒),但数组将返回空值或NaN(根据我尝试的更改)。

注意:我尝试了performance.now()和date.now(),但两者都有问题。 Performance.now()不能用于我的2个函数,而date.now()返回了无意义的值。我想使用控制台计时器,因为它似乎非常准确,并且工作,我只是无法存储最终值。

<script>
var fkpl = "";
var time1= "";
var time2= "";

function BodyLoad(){
 var time1 = console.time("fkpl");
 fkpl = time2-time1;
 dataArray = [userID, cue, target, response, fkpl];
 document.getElementById("CopyTrial").innerHTML = dataArray;
}

function recordKeyPress() {
 var executed = false;
 return function(){
   if (!executed){
     var time2 = console.timeEnd("fkpl");
     executed = true;
     }
  }
}
</script>

更新 我使用Date.now()和/或performance.now()获得了代码。我会坚持使用performance.now(),因为它工作得很好。

time1 = Math.round(performance.now());
time2 = Math.round(performance.now());
fkpl = (time2-time1);

另外,我无法获取console.timeEnd中记录的任何值。它永远不会将值存储在变量中。我试图确保它们是全局变量,但这没有帮助。我想某种方式输出到控制台的信息是不可读的/无法在没有一些严肃的解决方法的情况下存储或访问(这只是我的猜测)。

无论如何,我确实认为我的问题的一部分是没有定义全局变量的混合,并且还使用每个按键而不是仅按第一次按键执行该功能。很高兴它现在正在工作,但我希望有人可以权衡为什么不可能从控制台读取!!

0 个答案:

没有答案