30daysJS-12 - Key Sequence Detection (KONAMI CODE)
这个很简单,主要是利用数组方法和KeyboardEvent.key。
const serctCode = 'star'
const arr = []
const main = document.querySelector('main')
window.addEventListener('keydown',code)
function code(e){
const key = e.key
console.log(key);
arr.push(key)
arr.splice(
-serctCode.length -1,arr.length - serctCode.length -1
)
if(arr.join('').includes(serctCode)){
alert('wow!')
main.innerHTML = '<img src="../img/432968wwi0anufp3.gif">'
}
}
知识点
数组方法
arr.splice- 参数
(start,deletNumber,item1,item2...itemN); - 修改原数组,返回原数组;
- 这个方法既可以删除元素,也可以添加元素。
- 参数
arr.join- 参数
(spreator); - 返回字符串;
- 这个方法可以将一个字符串所有元素连接成一个字符串,再用指定的分隔符分隔成一个新的字符串
- 参数
arr.includes- 参数
(searchElement, fromIndex); - 返回布尔值;
- 这个方法可以检查数组内有没有参数。
- 参数
KeyboardEvent.key
返回用户按下的物理按键的值。