JavaScript 参考文档

该部分是 Javascript 的资料库。浏览本参考了解更多。
 

全局对象

本章介绍所有的 JavaScript 标准的内置对象以及它们的方法和属性
 

常量属性

表示一个简单的值的全局属性。

方法属性

执行特定功能并返回结果的全局方法。

基本对象

基础的语言对象、方法对象和错误对象。

数字和日期

用于处理数字、日期和数学运算的对象。

文本处理

用于处理文本的对象。

带索引的集合

根据索引来排列的集合,类似于数组的对象。

带键的集合

根据键来保存对象的集合,遍历时会根据放入的顺序。

矢量集合

SIMD 矢量数据类型可以把数据整合到一个序列中。

结构化数据

这种数据类型可以用来表示结构化数据缓存(structured data buffers)或者JSON数据,并允许与其进行交互。

控制抽象对象

反射

国际化

ECMA脚本的多语言附加组件。

非标准对象

其他

语句

本章介绍所有的 JavaScript 语句和声明
 

对于字母顺序列表,请参阅左边的侧边栏。

控制流

Block
一个块语句可以用来管理零个或多个语句。该区块是由一对大括号分隔。
break
终止当前的循环,switch,label 语句,使程序跳到下一个语句执行。
continue
终止执行当前或标签的循环的当前迭代的语句,直接执行下一个迭代循环。(An empty statement is used to provide no statement, although the JavaScript syntax would expect one.)
Empty
空语句用来表示没有语句的情况,这是 JavaScript 语法所不期望的。
if...else
如果指定的条件是 true ,则执行相匹配的一个语句,若为 false,则执行另一个语句。
switch
计算表达式,将子句于表达式的值做匹配,执行与该值相关联的语句。
throw
抛出一个用户自定义的异常。
try...catch
标记一个语句块,并指定一个应该抛出异常的反馈。(Marks a block of statements to try, and specifies a response, should an exception be thrown.)

声明

var
声明一个变量,可同时初始化。
let
声明一个块级本地变量,可以同时初始化。
const
声明一个只读的命名常量

函数和类

function
声明一个指定参数的函数。
function*
生成器函数使 iterators 更容易使用。
return
指定函数的返回值。
class
声明一个类。

迭代器

do...while
Creates a loop that executes a specified statement until the test condition evaluates to false. The condition is evaluated after executing the statement, resulting in the specified statement executing at least once.
for
Creates a loop that consists of three optional expressions, enclosed in parentheses and separated by semicolons, followed by a statement executed in the loop.
for each...in
Iterates a specified variable over all values of object's properties. For each distinct property, a specified statement is executed.
for...in
Iterates over the enumerable properties of an object, in arbitrary order. For each distinct property, statements can be executed.
for...of
Iterates over iterable objects (including arrays, array-like objects, iterators and generators), invoking a custom iteration hook with statements to be executed for the value of each distinct property.
while
Creates a loop that executes a specified statement as long as the test condition evaluates to true. The condition is evaluated before executing the statement.

其他

debugger
Invokes any available debugging functionality. If no debugging functionality is available, this statement has no effect.
export
Used to export functions to make them available for imports in external modules, another scripts.
import
Used to import functions exported from an external module, another script.
label
Provides a statement with an identifier that you can refer to using a break or continue statement.
with
拓展一个语句的作用域。

表达式和操作符

本章介绍所有的 JavaScript 表达式和操作符
 

左侧工具栏是按字母表排序的列表。

主要表达式

JavaScript中基本关键字和常用表达式。

this
this 关键字指向函数的执行上下文。
function
function 关键字定义了函数表达式。
class
class 关键字定义了类表达式。
function*
function* 关键字定义了一个 generator 函数表达式。
yield
暂停和恢复 generator 函数。
yield*
委派给另外一个generator函数或可迭代的对象。
[]
数组初始化/字面量语法。
{}
对象初始化/字面量语法。
/ab+c/i
正则表达式字面量语法。
[for (x of y) x]
Array comprehensions。
(for (x of y) y)
Generator comprehensions。
( )
圆括号操作符。

Left-hand-side expressions

Left values are the destination of an assignment.

Property accessors
成员访问可以访问对象的属性或方法
(object.property and object["property"]).
new
new 运算符创建了构造函数实例.
super
super 关键字调用父类的构造器.
...obj
展开运算符可以将一个可迭代的对象在函数调用的位置展开成为多个参数,或者在数组字面量中展开成多个数组元素。

自增运算和自减运算

前置/后置自增运算符和前置/后置自减运算符.

A++
后置自增运算符.
A--
后置自减运算符.
++A
前置自增运算符.
--A
前置自减运算符.

一元运算符

一元运算符只有一个操作数.

delete
delete 运算符用来删除对象的属性.
void
void 运算符表示表达式放弃返回值.
typeof
typeof 运算符用来判断给定对象的类型.
+
一元加运算符将操作转换为Number类型.
-
一元减运算符将操作转换为Number类型并取反.
~
按位非运算符.
!
逻辑非运算符.

Arithmetic operators

Arithmetic operators take numerical values (either literals or variables) as their operands and return a single numerical value.

+
加法运算符.
-
减法运算符.
/
除法运算符.
*
乘法运算符.
%
取模运算符.

关系运算符

A comparison operator compares its operands and returns a Boolean value based on whether the comparison is true.

in
in运算符用来判断对象是否拥有给定属性.
instanceof
instanceof 运算符判断一个对象是否是另一个对象的实例.
<
小于运算符
>
大于运算符.
<=
小于等于运算符.
>=
大于等于运算符.

相等操作符

The result of evaluating an equality operator is always of type Boolean based on whether the comparison is true.

==
相等 运算符.
!=
不等 运算符.
===
全等 运算符.
!==
非全等 运算符.

位移运算符

Operations to shift all bits of the operand.

<<
Bitwise left shift operator.
>>
Bitwise right shift operator.
>>>
Bitwise unsigned right shift operator.

二元按位运算符

Bitwise operators treat their operands as a set of 32 bits (zeros and ones) and return standard JavaScript numerical values.

&
Bitwise AND.
|
Bitwise OR.
^
Bitwise XOR.

二元逻辑运算符

逻辑运算符是典型的使用boolean(逻辑)值, and when they are, they return a boolean value.

&&
逻辑与.
||
逻辑或.

Conditional (ternary) operator

(condition ? ifTrue : ifFalse)

The conditional operator returns one of two values based on the logical value of the condition.

Assignment operators

An assignment operator assigns a value to its left operand based on the value of its right operand.

=
Assignment operator.
*=
Multiplication assignment.
/=
Division assignment.
%=
Remainder assignment.
+=
Addition assignment.
-=
Subtraction assignment
<<=
Left shift assignment.
>>=
Right shift assignment.
>>>=
Unsigned right shift assignment.
&=
Bitwise AND assignment.
^=
Bitwise XOR assignment.
|=
Bitwise OR assignment.
[a, b] = [1, 2]
{a, b} = {a:1, b:2}

Destructuring assignment allows you to assign the properties of an array or object to variables using syntax that looks similar to array or object literals.

逗号操作符

,
The comma operator allows multiple expressions to be evaluated in a single statement and returns the result of the last expression.

非标准化特性

Legacy generator function
The function keyword can be used to define a legacy generator function inside an expression. To make the function a legacy generator, the function body should contains at least one yield expression.
Expression closures
The expression closure syntax is a shorthand for writing simple function.

规范

规范 状态 说明
ECMAScript 1st Edition. Standard Initial definition.
ECMAScript 5.1 (ECMA-262)
Expressions
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
ECMAScript Language: Expressions
Standard New: Spread operator, destructuring assignment, super keyword, Array comprehensions, Generator comprehensions

相关链接

运算符优先级

函数

本章介绍如何使用 JavaScript函数 来开发应用程序。

附加参考

文档标签和贡献者

 此页面的贡献者: Ende93, lunix01, ziyunfei, teoli, CHiENiUS, kovchou
 最后编辑者: Ende93,