无规矩不成方圆,定义好规范,才能统一风格,才可提高代码可读性,同时也提高了维护性,还减低了引入 bug 的机会。
异步编程是 Node.js 最大的特点,没有掌握异步编程就不能说是真正学会了 Node.js。本章将介绍与异步编程相关的各种知识。
表单(<form>)用来收集用户提交的数据,发送到服务器。比如,用户提交用户名和密码,让服务器验证,就要通过表单。表单数据以键值对的形式向服务器发送,这个过程是浏览器自动完成的。但是有时候,我们希望通过脚本完成过程,构造和编辑表单键值对,然后通过 XMLHttpRequest.send() 方法发送。浏览器原生提供了 FormData 对象来完成这项工作。
<img> 元素用于插入图片,主要继承了 HTMLImageElement 接口。浏览器提供一个原生构造函数 Image,用于生成 HTMLImageElement 实例。
键盘事件由用户击打键盘触发,主要有 keydown、keypress、keyup 三个事件,它们都继承了 KeyboardEvent 接口。
文本节点(Text)代表元素节点(Element)和属性节点(Attribute)的文本内容。如果一个节点只包含一段文本,那么它就有一个文本子节点,代表该节点的文本内容。DocumentFragment 节点代表一个文档的片段,本身就是一个完整的 DOM 树形结构。它没有父节点,parentNode 返回 null,但是可以插入任意数量的子节点。它不属于当前文档,操作 DocumentFragment 节点,要比直接操作 DOM 树快得多。
拖拉(drag)指的是,用户在某个对象上按下鼠标键不放,拖动它到另一个位置,然后释放鼠标键,将该对象放在那里。拖拉的对象有好几种,包括元素节点、图片、链接、选中的文字等等。在网页中,除了元素节点默认不可以拖拉,其他(图片、链接、选中的文字)都是可以直接拖拉的。为了让元素节点可拖拉,可以将该节点的 draggable 属性设为 true 。