语句和声明

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.)

声明

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

函数和类

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

迭代器

do...while
创建一个循环来执行语句,直到该语句条件表达式的值为 false。先执行语句,再执行条件表达式,该语句至少会执行一次。
for
创建一个由3个可选的表达式组成的循环,该循环用括号包裹,分号分割,并在循环体中执行语句。
for...in
无序遍历对象的可枚举属性。语句针对每个唯一的属性。
for...of
遍历可迭代的对象(包括 数组、类数组对象、迭代器和生成器),对每个不同属性的属性,调用一个自定义的有执行语句的迭代钩子。
for await...of
在异步可迭代对象、类数组对象、迭代器和生成器上迭代,调用自定义迭代钩子,其中包含要为每个不同属性的值执行的语句。
while
创建一个循环语句,循环会一直持续到该语句条件表达式的值为false。先执行条件表达式,然后执行语句。

其他

debugger
调用可用的调试功能。如果没有调试功能可用,该语句不生效。
export
用来导出函数,以便这些函数能够被导入到外部模块或其他脚本中。
import
用来引入外部的模块或另一个script中导出的函数。
import.meta
向 JavaScript 模块公开上下文特定的元数据的元属性。
label
带标识的语句,与 breakcontinue 语句一起使用。
with This deprecated API should no longer be used, but will probably still work.
拓展一个语句的作用域。

规范

规范 状态 备注
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 (ECMA-262)
ECMAScript Language: Statements and Declarations
Living Standard

浏览器兼容性

BCD tables only load in the browser

参见