事件的本质是程序各个组成部分之间的一种通信方式,也是异步编程的一种实现。DOM 支持大量的事件,本章开始介绍 DOM 的事件编程。DOM 的事件操作(监听和触发),都定义在 EventTarget 接口。所有节点对象都部署了这个接口,其他一些需要事件通信的浏览器内置对象(比如,XMLHttpRequest、AudioNode、AudioContext)也部署了这个接口。
Node.js 使用的是单线程异步模型,但是也支持多线程。本章介绍了使用 Node.js 管理进程时需要的 API 以及主要的应用场景。
表单事件的种类有 input 事件、select 事件、change 事件、invalid 事件、reset 事件,submit 事件...
document 节点对象代表整个文档,每张网页都有自己的 document 对象。window.document 属性就指向这个对象。只要浏览器开始载入 HTML 文档,该对象就存在了,可以直接使用。
URL 是互联网的基础设施之一。浏览器提供了一些原生对象,用来管理 URL。Location 对象,URL 对象,URLSearchParams 对象。
ArrayBuffer 对象表示一段二进制数据,用来模拟内存里面的数据。通过这个对象,JavaScript 可以读写二进制数据。这个对象可以看作内存数据的表达。Blob 对象表示一个二进制文件的数据内容,比如一个图片文件的内容就可以通过 Blob 对象读写。它通常用来读写文件,它的名字是 Binary Large Object (二进制大型对象)的缩写。它与 ArrayBuffer 的区别在于,它用于操作二进制文件,而 ArrayBuffer 用于操作内存。
window.history 属性指向 History 对象,它表示当前窗口的浏览历史。History 对象保存了当前窗口访问过的所有页面网址。下面代码表示当前窗口一共访问过3个网址。
<a> 元素用来设置链接。除了网页元素的通用接口(Node 接口、Element 接口、HTMLElement 接口),它还继承了 HTMLAnchorElement 接口和 HTMLHyperlinkElementUtils 接口。