JSLint抱怨数学运算符“++”语法

时间:2013-10-07 18:17:23

标签: javascript jslint

为什么jslint抱怨这种语法:

var myint;
myint = 0;

myint++;

www.jslint.com回应:

意外的'++'。     敏++;

3 个答案:

答案 0 :(得分:3)

JSLint不喜欢++,它希望您使用myint += 1。这是值得商榷的,见Why avoid increment ("++") and decrement ("--") operators in JavaScript?

有一个让它通过的选项,但是(在网络界面上,它处于“容忍......”)。

来自JSLint help

  

已知++(增量)和--(减量)运算符通过鼓励过多的诡计来导致错误的代码。它们仅次于故障架构,可以实现病毒和其他安全威胁。此外,增加前/后增量混淆可以产生非常难以诊断的一个一个错误。有plusplus选项允许使用这些运算符。

答案 1 :(得分:2)

Crockford反对++--的论点是他们“太紧,太棘手,太神秘”(Javascript的第112页:好的部分)。你的旅费可能会改变。如果您愿意,可以使用它们,或者如果您认为它们太混乱并妨碍可读性,请不要使用它们。

如果您不购买Crockford的论点,您可以在JSLint中关闭该规则。

答案 2 :(得分:1)

@ bfavaretto的回答是正确的。如果您想允许此操作(假设您使用的是非Web版本),请使用以下指令将plusplus设置为true

/*jslint plusplus: true */

Reference