概览
empty 语句 用来表明没有语句, 尽管JavaScript语法希望有语句会被执行.
语法
;
说明
empty语句 用分号表示 (;) ,用来指明没有语句会被执行, 尽管此时JavaScript语法需要执行语句. 相对的是,当你需要多行语句,但JavaScript只允许一个时,可以使用 语句块; 语句块可以将多条语句合并为一个.
示例
empty语句 有时用作循环语句中. 如:
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]
注意: 在使用 empty语句的情况下专门写上注释是个不错的主意, 因为不是很容易区分empty语句 和普通的分号. 下面的示例可能不是故意加上分号的:
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 |
---|---|---|
ECMAScript 1st Edition. | Standard | Initial definition. |
ECMAScript 5.1 (ECMA-262) Empty statement |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) Empty statement |
Standard |
浏览器兼容性
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |