JSLint抱怨以下(无用示例)代码无效:
(function (x) {
"use strict";
if (x === 1) {
return 1;
} else if (x === 2) {
return -1;
}
return 0;
}(1));
错误: 第4行字符9处的问题:“返回”后出现意外的“其他”。
返回1;
是否认真地建议在if / else结构中使用return语句是不好的?
它认为这个版本很好:
(function (x) {
"use strict";
var returnval = 0;
if (x === 1) {
returnval = 1;
} else if (x === 2) {
returnval = -1;
}
return returnval;
}(1));
答案 0 :(得分:90)
它只是告诉你else
之后的return
是多余的。以下情况很好:
(function (x) {
"use strict";
if (x === 1) {
return 1;
}
if (x === 2) {
return -1;
}
return 0;
}(1));
答案 1 :(得分:4)
我发现w / jslint的内容是,如果你遵守规则 - 50%是荒谬的,但对你的代码没有负面影响。另外50%(左右)会给你带来很好的好处。所以对其他50%这样做。这个特殊的例子迫使你明确关于条件或类似的逆...而不是让它隐含于else ...同样适用于if / else我的意思。
答案 2 :(得分:1)
最好让函数总是返回一些东西,因为它增加了一致性。众所周知,JSLint非常严格,会伤害程序员的感受。不能帮助它。我个人认为版本1很好