增量/减量运算符在Javascript中被认为是不良形式吗?

时间:2011-08-30 15:26:57

标签: javascript standards

  

可能重复:
  Why avoid increment ("++") and decrement ("--") operators in JavaScript?

我最近一直在通过JSLint运行我的所有javascript,它总是在我的增量运算符上给我Unexpected '++'。我还注意到容忍 ++ / - 有一个JSLint选项。

使用i++/i--是否会被视为不良形式?

4 个答案:

答案 0 :(得分:5)

如果我理解正确,它在JSLint中的原因是因为++ii++之间存在显着差异,许多开发人员并不一定会欣赏关于何时完成添加的具体含义,与其周围的其他操作有关。

例如:

var i = 0;
if(i++) {
    //does this get run or not?
}
if(--i) {
    //and what about this one?
}

这就是为什么克罗克福德认为这是不好的做法,并且更喜欢更明确的+=1

但是,总的来说,++我不会遇到这类问题;我很高兴使用它,我会忽略JSLint告诉我不要(大多数时候!)。

这是关于JSLint的重要事情 - 它并没有告诉你实际的错误;它告诉你的一切都是一个建议。其中一些是很好的建议(例如,你永远不应该使用with);一些是好的建议,表明代码不好;其中一些在某些时候只是一个问题,应该单独考虑。作为开发人员,更重要的是,您需要知道它为什么建议它而不是实际修复它们。一旦你理解了它们被指出的原因,你就可以自己决定代码中的给定实例是否存在问题,以及如何解决它。

希望有所帮助。

答案 1 :(得分:2)

不,我认为这可能会引发争议,但严肃地说,很快就会在他们的教育或书籍或其他任何事情中了解这个运营商。这个建议让我很烦恼。

答案 2 :(得分:1)

我不认为它在Javascript中特别被认为是不好的形式,大多数程序员通常都很难正确使用这些运算符。

答案 3 :(得分:1)

不使用++/--,而是使用+=/-=更好的做法。

x += 1;代替x++;

这应该会增加可读性并避免因过度使用“代码技巧”而输入错误。

就我个人而言,我发现使用此方法而不是默认的++ / - 运算符更有用,因为数字将由IDE着色,并且更容易发现。