Javascript 两组两次键盘输入之间的时间

Javascript 两组两次键盘输入之间的时间,javascript,keyboard-events,gettime,Javascript,Keyboard Events,Gettime,很难解释原因,但我会尽力解释原因。假设这是键盘上的快速敲击。在两个键之间点击的速度越快,得分就越高(最后一部分未执行)。当你一个接一个地轻触两个键时,效果也会更好 我的想法是从第一个键输入和第二个键输入时间中读取时间,以计算它们之间的时间-第一轮的增量。为了将来,我想比较第一个增量(点击一-点击二)和第二个增量(点击一-点击二)。我不能参加比赛,因为在第一轮抽头(抽头一-抽头二)后,我得到了两个三角洲,大多数时候它们是相等的 1。我做错了什么?我是否应该获取所有输出并稍后进行比较? 2.还有,当

很难解释原因,但我会尽力解释原因。假设这是键盘上的快速敲击。在两个键之间点击的速度越快,得分就越高(最后一部分未执行)。当你一个接一个地轻触两个键时,效果也会更好

我的想法是从第一个键输入和第二个键输入时间中读取时间,以计算它们之间的时间-第一轮的增量。为了将来,我想比较第一个增量(点击一-点击二)和第二个增量(点击一-点击二)。我不能参加比赛,因为在第一轮抽头(抽头一-抽头二)后,我得到了两个三角洲,大多数时候它们是相等的

1。我做错了什么?我是否应该获取所有输出并稍后进行比较? 2.还有,当我敲击同一个键两次时,如何处理这个问题。我想注册,而不是忽略它。

    var start1 = 0;
    var satrt2 = 0;
    function run(){
    first();
    second();
    }
    function first(){
    document.addEventListener('keydown',function(event){
        if(event.keyCode == 37){

        start1 = new Date().getTime();
        //console.log("L " + start);
        }
        else if(event.keyCode == 39){
            var delta1 = new Date().getTime() - start1;
            console.log("first round input is " + delta1 );
            start1 = 0; 
        }
    });
    }

    function second(){
    document.addEventListener('keydown',function(event){
        if(event.keyCode == 37){

        start2 = new Date().getTime();
        //console.log("L " + start);
        }
        else if(event.keyCode == 39){
            var delta2 = new Date().getTime() - start2;
            console.log("Second round input is " + delta2 );
            start2 = 0; 
        }
    }); 
    }


    window.onload = run; 

我认为这将适用于你问题的第一部分

var start1=0;
var start2=0;
函数运行(){
第一个();
}
函数优先(){
document.addEventListener('keydown',函数(事件){
如果(event.keyCode==37){
start1=新日期().getTime();
如果(开始2){
log(“第一轮输入为”+(start1-start2));
start2=0;
}
}else if(event.keyCode==39){
start2=新日期().getTime();
如果(start1){
log(“第二轮输入为”+(start2-start1));
start1=0;
}
}
});
}

run();Thet没有调用它?啊,很抱歉,它在下面。每次按代码中的某个键时,都会触发侦听器。在我的代码中,如果我按同一个键两次,则会给出错误的结果。你的不包括这件事。所以一切都很好。非常感谢。顺便说一句,你能解释一下,如果(start2)没有条件<<=>例如,据我所知,如果start2中有值,那么。。。我说得对吗?在js中,该测试将被视为“真实”测试,即start2不等于0、null或未定义