JavaScript 应用程序是由许多语法正确的语句组成的。单个语句可以跨多行。如果每个语句用分号隔开,那么多个语句可以在一行中出现。本页的内容并不是一个关键字,而是一组关键字。
语句和声明(按类别)
对于字母顺序列表,请参阅左边的侧边栏。
控制流程
Block
- 一个块语句可以用来管理零个或多个语句。该区块是由一对大括号分隔。
break
- 终止当前的循环,switch,label 语句,使程序跳到下一个语句执行。
continue
- 终止执行当前或标签循环的语句,直接执行下一个迭代循环。
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.)
声明
函数和类
迭代器
do...while
- 创建一个循环来执行语句,直到该语句条件表达式的值为false。先执行语句,再执行条件表达式,该语句至少会执行一次。
for
- 创建一个由3个可选的表达式组成的循环,该循环用括号包裹,分号分割,并在循环体中执行语句。
-
for each...in
- 通过指定的变量迭代对象所有属性的值。针对每个唯一的属性,会执行指定的语句块。
for...in
- 无序遍历对象的可枚举属性。语句针对每个唯一的属性。
for...of
- 遍历可迭代的对象 (包括arrays, 类数组对象, iterators and generators),对每个不同属性的属性,调用一个自定义的有执行语句的迭代钩子。
while
- 创建一个循环语句,循环会一直持续到该语句条件表达式的值为false。先执行条件表达式,然后执行语句。
其他
debugger
- 调用可用的调试功能。如果没有调试功能可用,该语句不生效。
-
export
- 用来导出函数,以便这些函数能够被导入到外部模块或其他script中。
-
import
- 用来引入外部的模块或另一个script中导出的函数。
label
- 带标识的语句,与
break
或continue语句一起使用。
-
with
- 拓展一个语句的作用域。
规范
Specification | Status | Comment |
---|---|---|
ECMAScript 1st Edition (ECMA-262) Statements |
Standard | Initial definition |
ECMAScript 3rd Edition (ECMA-262) Statements |
Standard | |
ECMAScript 5.1 (ECMA-262) Statements |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) ECMAScript Language: Statements and Declarations |
Standard | New: function*, let, for...of, yield, class |
ECMAScript Latest Draft (ECMA-262) ECMAScript Language: Statements and Declarations |
Living Standard |