一、键盘事件
(1)keydown & keyup
定义: 按下按键和抬起按键
执行顺序: keydown > keypress > keyup
keydown和keypress的区别:
1、keydown没有charCode
2、keypress按住可以一直触发
3、keypress可以区分字母大小写
document.onkeypress = function (e) {
var str = String.fromCharCode(e.charCode);
console.log(str); // a b c A
}
4、keypress只触发所有字符类按键(包括123abc><=,不包括ctrl)
5、keydown用来触发控制键,键盘上所有的按键都可以触发
charCode和keyCode的区别:
charCode是ASCII码,keyCode是键盘顺位排序码
(2)静态方法/属性
给一个函数添加一个方法和属性,这些方法和属性就是这个函数的静态方法和属性
(3)移动盒子
二、贪吃蛇运动原理
(1)贪吃蛇案例
三、备注
(1)文档碎片
每一次循环dom结构都在变化,这样很消耗性能
frag不在dom结构里面,所以在循环的时候是没有改变dom结构的
记住:
1、只要是循环创建,一定要用到文档碎片
2、它的好处是可以阻止回流,减少对dom结构的操作,优化性能
(2)标签借用
用一些特定的标签(i、ins),这样好维护
(3)这里为什么要这样写?
就是往了一个方向走,就不能再往这个方向或者反方向走了