空语句

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

空语句用于在 JavaScript 语法预期有语句时,提供一个不执行任何操作的语句。

试一试

const array = [1, 2, 3];

// Assign all array values to 0
for (let i = 0; i < array.length; array[i++] = 0 /* empty statement */);

console.log(array);
// Expected output: Array [0, 0, 0]

语法

js
;

描述

空语句是一个分号(;),表示即使 JavaScript 语法要求有语句,也不会执行任何语句。

相反的行为,即当你想要多个语句,但 JavaScript 只允许一个语句时,可以使用块语句来实现,它将多个语句组合成一个单独的语句。

示例

空循环体

空语句有时与循环语句一起使用。请看以下带有空循环体的示例:

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

// Assign all array values to 0
for (let i = 0; i < arr.length; arr[i++] = 0) /* empty statement */ ;

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

无意中的使用

最好对有意使用空语句的情况进行注释,因为它与普通分号很难区分。

在以下示例中,这种用法可能不是有意的:

js
if (condition);      // Caution, this "if" does nothing!
  killTheUniverse(); // So this always gets executed!!!

规范

规范
ECMAScript® 2026 语言规范
# sec-empty-statement

浏览器兼容性

另见