1.因为一些移动触摸设备鼠标和键盘功能不足,所以需要定义手势和触摸事件来代替鼠标和键盘的一些功能实现。
2.触摸事件包括:touchstart、touchmove等,这些事件都是冒泡的,可以被阻止。它们都以兼容DOM的方式实现,所以有一些可以访问DOM元素的属性。
3.触摸事件可以跟踪用户的操作以便定义更方便与用户操作的设计。
4.手势事件:也是iOS中的Safari中首先引入的,两根手指触摸屏幕触发。
5.一般来说,使用基于两个手指的手势事件,要比管理触摸事件中的所有交互要容易得多。
6.每个函数都是对象,都会占用内存;内存中的对象越多,性能越差。频繁访问DOM,会延迟整个页面的交互就绪时间。
7.事件委托:只指定一个事件处理程序,就可以管理某一类型的所有事件。充分利用事件可以冒泡的特性,只需要给文档绑定一个事件处理程序。实际上,就是在DOM树中尽量高的层次上添加一个事件处理程序,利用target去寻找点击哪个目标元素。如果可行的话,也可以考虑为document对象添加一个事件处理缓存程序。因为访问document对象很快,内存占用很小。
8.空事件处理程序不用了之后可以及时清除来节约内存。例如,如果带有事件处理程序的元素被innerHTML删除了,那么原来添加到元素中的事件处理程序极有可能无法被当作垃圾回收。除非自己手动把事件处理程序的引用清除。
9.还有一种方法是在页面卸载之前,通过onunload事件处理程序移除所有事件处理程序。
10.事件模拟:测试Web程序,有时候需要进行事件的模拟。"DOM2级"并没有专门规定键盘事件。
11.还可以开发者自己定义事件。先创建event对象,然后为其指定相应的信息,然后再使用该对象来触发事件。模拟的键盘事件无法真的向输入框中输入文本内容,这是因为无法真正地精确模拟键盘事件造成的。
12.单一状态树:也就是只创建一个store实例,方便后期的管理和维护。
13.当一个数据是通过一系列计算后才显示的,这时候就可以使用计算属性了。
14.JS数组有filter、map、reduce高阶方法进行使用。
15.getters就类似于计算属性的特性,返回计算过的数据。getters里面需要传递参数的话,需要使用闭包进行参数处理。
16.css中float属性定义脱离文档流浮动,默认值none,left和right控制元素向左右浮动,值inherit继承父元素float属性。
17.display设置为flex,代表他的子元素自动成为容器成员,称为Flex项目。主要用于一系列子项目进行有规律的排列。可以设置flex-direction、flex-wrap(换行设置)、justify-content属性定义了项目在主轴的对齐方式。
18.用flex实现规律排布,然后用float实现元素的自由浮动。