我想知道为什么这个while
循环在第一次运行时在使用内联时断开,如果有两个动作(break;
第二个):
var list = [4, 2, 1, 3]; while (list.length) { list.splice(0, 1); console.log("length is now: " + list.length); if (list.length === 2) console.log("break!"); break; }
将最后一行更改为此工作正常:
if (list.length === 2) break;
......这样做:
if (list.length === 2) { console.log("break!"); break; }
AFAIK可以在内联中设置多个动作,如下所示:
if (true) console.log("true"); console.log("still true");
T.J. Crowder.. 5
AFAIK可以在内联中设置多个动作,如下所示:
不,不是.要做到这一点,你需要一个块({...}
):
if (list.length === 2) { console.log("break!"); break; }
控制流语句就像if
接受单个语句一样.如果你需要使body多个语句很长,那么该语句可以是一个块.
无论你如何写它(除了风格,可读性和可维护性):
if (list.length === 2) { console.log("break!"); break; }
JavaScript解析器几乎完全忽略了换行符(几乎是因为自动分号插入,如果解析器在找到它们应该出现的换行符时需要使用缺少分号来修正代码).
AFAIK可以在内联中设置多个动作,如下所示:
不,不是.要做到这一点,你需要一个块({...}
):
if (list.length === 2) { console.log("break!"); break; }
控制流语句就像if
接受单个语句一样.如果你需要使body多个语句很长,那么该语句可以是一个块.
无论你如何写它(除了风格,可读性和可维护性):
if (list.length === 2) { console.log("break!"); break; }
JavaScript解析器几乎完全忽略了换行符(几乎是因为自动分号插入,如果解析器在找到它们应该出现的换行符时需要使用缺少分号来修正代码).