--- title: empty slug: Web/JavaScript/Reference/Statements/Empty tags: - JavaScript - Statement translation_of: Web/JavaScript/Reference/Statements/Empty ---
空语句用来表明没有语句,尽管 JavaScript 语法希望有语句。
;
空语句是一个分号(;),表示不会执行任何语句,即使 JavaScript 语法需要一个语句。 相反,当你需要多行语句,但 JavaScript 只允许一个时,可以使用语句块;语句块可以将多条语句合并为一个。
空语句有时与循环语句一起使用。以下示例使用空循环体:
var 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]
提示:在使用空语句的情况下专门写上注释是个不错的主意,因为不是很容易区分空语句和普通的分号。下面的示例可能不是故意加上分号的:
if (condition); // Caution, this "if" does nothing! killTheUniverse() // So this gets always executed!!!
另一个例子:if...else
语句不带花括号({}
)。如果three
为true
, 不会发生任何事,four
不会执行,同时else
从句中的launchRocket()
函数也不会执行。
if (one) doOne(); else if (two) doTwo(); else if (three) ; // nothing here else if (four) doFour(); else launchRocket();
Specification | Status | Comment |
---|---|---|
{{SpecName('ESDraft', '#sec-empty-statement', 'Empty statement')}} | {{Spec2('ESDraft')}} | |
{{SpecName('ES6', '#sec-empty-statement', 'Empty statement')}} | {{Spec2('ES6')}} | |
{{SpecName('ES5.1', '#sec-12.3', 'Empty statement')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES3', '#sec-12.3', 'Empty statement')}} | {{Spec2('ES3')}} | |
{{SpecName('ES1', '#sec-12.3', 'Empty statement')}} | {{Spec2('ES1')}} | Initial definition. |
{{Compat("javascript.statements.empty")}}