JavaScript编码样式:多行条件后的大括号

时间:2014-02-08 16:27:11

标签: javascript coding-style

在我的公司项目中,JavaScript中的花括号在“if”条件之后总是在同一行。 在下一个例子中考虑多线条件,你认为缩进行“list [i] .Position ++;”看起来不错?对我来说看起来有点奇怪,因为它在视觉上与条件线具有相同的缩进。

for (var i = 0; i < list.length; i++) {
    if (list[i].Position < previousPosition &&
        list[i].Position >= savedPosition) {
        list[i].Position++;
    }
}

您是否会使用此代码处理编码风格?

2 个答案:

答案 0 :(得分:2)

缩进是无关紧要的,但我会读取list.length一次,而不是每次迭代。

for (var i = 0,L=list.length; i < L; i++)

答案 1 :(得分:1)

是的,我会对此做点什么。我不会说问题是关于括号。 多线条件难以阅读,我建议将其用于单独的功能。

function isRightPosition(position, previous, saved) {
    return position < previous
         && position >= saved;
}

for (var i = 0; i < list.length; i++) {
    if(isRightPosition(list[i].Position, previous, saved))
        list[i].Position++;
}

你也可以进一步注意if的主体,以防止与病情混淆。

for (var i = 0; i < list.length; i++) {
    if (list[i].Position < previousPosition &&
        list[i].Position >= savedPosition) {
            list[i].Position++;
    }
}

你也可以移动&符号,这有时会有所帮助:

for (var i = 0; i < list.length; i++) {
    if (list[i].Position < previousPosition
        && list[i].Position >= savedPosition) {
            list[i].Position++;
    }
}

但这都是个人观点。做你认为最好(或一致)的事情。