我试图确定用户是否在特定的时间内输入了一组特定的字符。
我想我做了一些有用的东西,但我知道它不是很好,因为它使用了全局变量 toMatch。var
我用不带关键字的 setInterval 声明了它。尽管范围的概念让我感到困惑,但我正在努力学习,我想知道是否有人可以提供更好的方法来做到这一点?
//set the toMatch array equal to the character codes for the word 'test'
//reset it to its original value every 2seconds
var matchTime = setInterval(function(){ console.log('toMatch reset'); toMatch = [84,69, 83, 84];}, 2000);
document.addEventListener("keydown", function(e){
var key = e.which;
findMatches(key);
});
function findMatches(key){
//if the key is in the first position in the array, remove it
if (key == toMatch[0]){
toMatch.shift();
}
console.log(toMatch);
//if all shifted out, clear the interval
if (toMatch.length == 0 ) {
window.clearInterval(matchTime);
alert('typed \'test\' within two seconds');
}
}
谢谢