#JavaScript 教程

此教程转载自开源项目 网道(WangDoc.com) https://github.com/wangdoc/javascript-tutorial,感谢大佬整理分享

1. 入门篇

2. 数据类型

<video>,<audio>

概述

<video>元素用来加载视频,是HTMLVideoElement对象的实例。<audio>元素用来加载音频,是HTMLAudioElement对象的实例。而HTMLVideoElementHTMLAudioElement都继承了HTMLMediaElement,所以这两个 HTML 元素有许多共同的属性和方法,可以放在一起介绍。

理论上,这两个 HTML 元素直接用src属性指定媒体文件,就可以使用了。

<option> 元素

<option>元素表示下拉框(<select><optgroup><datalist>)里面的一个选项。它是 HTMLOptionElement 接口的实例。

属性

除了继承 HTMLElement 接口的属性和方法,HTMLOptionElement 接口具有下面的属性。

<button> 元素

<button>元素继承了HTMLButtonElement接口。它有以下的实例属性。

(1)HTMLButtonElement.accessKey

HTMLButtonElement.accessKey属性返回一个字符串,表示键盘上对应的键,通过Alt + 这个键可以让按钮获得焦点。该属性可读写。

<input> 元素

<input>元素主要用于表单组件,它继承了 HTMLInputElement 接口。

HTMLInputElement 的实例属性

特征属性

<form> 元素

<form>元素代表了表单,继承了 HTMLFormElement 接口。

HTMLFormElement 的实例属性

<img> 元素

概述

<img>元素用于插入图片,主要继承了 HTMLImageElement 接口。

浏览器提供一个原生构造函数Image,用于生成HTMLImageElement实例。

var img = new Image();
img instanceof Image // true
img instanceof HTMLImageElement // true

<a> 元素

<a>元素用来设置链接。除了网页元素的通用接口(Node接口、Element接口、HTMLElement接口),它还继承了HTMLAnchorElement接口和HTMLHyperlinkElementUtils接口。

属性

URL 相关属性

Web Worker

概述

JavaScript 语言采用的是单线程模型,也就是说,所有任务只能在一个线程上完成,一次只能做一件事。前面的任务没做完,后面的任务只能等着。随着电脑计算能力的增强,尤其是多核 CPU 的出现,单线程带来很大的不便,无法充分发挥计算机的计算能力。

Web Worker 的作用,就是为 JavaScript 创造多线程环境,允许主线程创建 Worker 线程,将一些任务分配给后者运行。在主线程运行的同时,Worker 线程在后台运行,两者互不干扰。等到 Worker 线程完成计算任务,再把结果返回给主线程。这样的好处是,一些计算密集型或高延迟的任务可以交由 Worker 线程执行,主线程(通常负责 UI 交互)能够保持流畅,不会被阻塞或拖慢。

IndexedDB API

概述

随着浏览器的功能不断增强,越来越多的网站开始考虑,将大量数据储存在客户端,这样可以减少从服务器获取数据,直接从本地获取数据。

现有的浏览器数据储存方案,都不适合储存大量数据:Cookie 的大小不超过 4KB,且每次请求都会发送回服务器;LocalStorage 在 2.5MB 到 10MB 之间(各家浏览器不同),而且不提供搜索功能,不能建立自定义的索引。所以,需要一种新的解决方案,这就是 IndexedDB 诞生的背景。