私は小さなゲームを作成しており、一定の時間間隔で押されたキーを収集するコードがあります。私のjavascript配列に表示される特定されていない値
var pressedKeys = [];
setTimeout(function() {
for(var i = 0; i < pressedKeys.length; i++)
alert("Time is up you have inputed " + pressedKeys[i] + " length " + pressedKeys.length);
}, 3000);
$(document).keydown(function(evt) {
var key = evt.keyCode;
if (pressedKeys.length < 1) {
pressedKeys[0] = key;
} else {
pressedKeys[pressedKeys.length + 1] = key;
}
});
私はjavascriptを使い慣れていないため、なぜ配列に未確認の値があるのか理解できません。面白いのは、私がforeachを使ってループを行うと、私は未確認の値を得られないということです。
これを私に説明してください。私はとても感謝しています。配列インデックスは、ゼロベースているので
'pressedKeys.push(key)'がさらに優れています。 –
@Rocket:これはオプションですが、どのように優れていますか? –
なぜ 'length'プロパティを取得して、最後に「add to the end」と言うことができるときにその位置の配列に追加しますか? –