当前位置:  开发笔记 > 编程语言 > 正文

为什么这不会在内联中工作?

如何解决《为什么这不会在内联中工作?》经验,为你挑选了1个好方法。

我想知道为什么这个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解析器几乎完全忽略了换行符(几乎是因为自动分号插入,如果解析器在找到它们应该出现的换行符时需要使用缺少分号来修正代码).



1> T.J. Crowder..:

AFAIK可以在内联中设置多个动作,如下所示:

不,不是.要做到这一点,你需要一个块({...}):

if (list.length === 2) {
    console.log("break!");
    break;
}

控制流语句就像if接受单个语句一样.如果你需要使body多个语句很长,那么该语句可以是一个.

无论你如何写它(除了风格,可读性和可维护性):

if (list.length === 2) { console.log("break!"); break; }

JavaScript解析器几乎完全忽略了换行符(几乎是因为自动分号插入,如果解析器在找到它们应该出现的换行符时需要使用缺少分号来修正代码).

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有