空语句

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

空语句用于不提供任何语句,尽管 JavaScript 语法期望提供一个语句。

尝试一下

语法

js
;

描述

空语句由分号(;)组成,表示即使 JavaScript 语法要求提供语句,也不执行任何语句。

相反的情况是,你希望有多个语句,但 JavaScript 只允许一个语句,可以使用块语句来实现,它将多个语句组合成一个语句。

示例

循环体

空语句有时用于循环语句中。请参阅以下示例,其中循环体为空:

js
const arr = [1, 2, 3];

// 将所有数组值赋值为 0
for (let i = 0; i < arr.length; arr[i++] = 0) /* 空语句 */ ;

console.log(arr);
// [0, 0, 0]

非刻意使用

刻意使用空语句时,最好在代码中添加注释说明,因为空语句很难与普通的分号区分开来。

在下面的示例中,这种用法可能并非有意为之:

js
if (condition);      // 注意,这个“if”不会产生任何作用!
  killTheUniverse(); // 所以这一行总是会执行!!!

规范

Specification
ECMAScript Language Specification
# sec-empty-statement

浏览器兼容性

BCD tables only load in the browser

参见