An empty statement is used to provide no statement, although the JavaScript syntax would expect one.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
;
The empty statement is a semicolon (
;
) indicating that no statement will be executed, even if JavaScript syntax requires one.
The opposite behavior, where you want multiple statements, but JavaScript only allows a single one, is possible using a block statement , which combines several statements into a single one.
The empty statement is sometimes used with loop statements. See the following example with an empty loop body:
let 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]
It is a good idea to comment intentional use of the empty statement, as it is not really obvious to distinguish from a normal semicolon.
In the following example, the usage is probably not intentional:
if (condition); // Caution, this "if" does nothing! killTheUniverse() // So this always gets executed!!!
In the next example, an
if...else
statement without curly braces (
{}
) is used.
若
three
is
true
, nothing will happen,
four
does not matter, and also the
launchRocket()
function in the
else
case will not be executed.
if (one) doOne(); else if (two) doTwo(); else if (three) ; // nothing here else if (four) doFour(); else launchRocket();
| 规范 |
|---|
|
ECMAScript (ECMA-262)
The definition of 'Empty statement' in that specification. |
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Empty statement (
;
)
|
Chrome 3 | Edge 12 | Firefox 1 | IE 3 | Opera 3 | Safari 5 | WebView Android 1 | Chrome Android 18 | Firefox Android 4 | Opera Android 10.1 | Safari iOS 4.2 | Samsung Internet Android 1.0 | nodejs 0.1.100 |
完整支持