JSLint 错误:“中断后不必要的其他”
JSLint error: "unnecessary else after disruption"
我想知道如何重写此函数以解决JSLint错误"中断后不必要的其他"。我了解此错误的基础知识,并且已经重写了模型的功能,例如
myFunction.doThing = function () {
if (user.likesCats) {
return patCat;
}
else (user.likesDogs {
return patDog;
}
};
改为这样:
myFunction.doThing = function () {
if (user.likesCats) {
return patCat;
}
return patDog;
};
但是我不确定如何修复此函数中的 if、else if、else 构造,以便它符合 JSLint 的"休息后不要继续不必要的 else"规则:
myFunction.getRange = function () {
if (this.settings.allowedValues) {
return {
min: Min,
max: Max
};
} else if (this.settings.range) {
return {
min: range[0],
max: range[1]
};
} else {
return {
min: 0,
max: 1
};
}
};
你不是只设置一个变量而不是返回它吗
myFunction.getRange = function () {
var range;
if (this.settings.allowedValues) {
range = {
"min": Min,
"max": Max
};
} else if (this.settings.range) {
range = {
"min": range[0],
"max": range[1]
};
} else {
range = {
"min": 0,
"max": 1
};
}
return range;
};
基本上有两种方法:单一退出点与提前退出。我个人更喜欢后者:
myFunction.getRange = function () {
if (this.settings.allowedValues) {
return {
min: Min,
max: Max
};
}
if (this.settings.range) {
return {
min: range[0],
max: range[1]
};
}
return {
min: 0,
max: 1
};
};
在这种情况下,这并不重要,但是具有早期退出(return
,break
等)的真实代码比具有许多else
分支和临时变量的"单个出口"更容易阅读和维护。
只需摆脱最后的 else - 它不是必需的。如果不满足前面的条件,它无论如何都会返回这些值。
myFunction.getRange = function () {
if (this.settings.allowedValues) {
return {
min: Min,
max: Max
};
} else if (this.settings.range) {
return {
min: range[0],
max: range[1]
};
}
return { min: 0, max: 1 };
};
相关文章:
- 骨干模型默认值-todos.js示例中不必要的代码
- 如何在不影响其他元素的情况下扩展DIV
- 是否可以使用Chart.js缩短雷达图上的外部标签,而不影响其他标签
- Phonegap iOS-设备准备不发射其他事件做
- 使用一个Javascript函数提交多个表单可以在FF中工作,而不需要其他浏览器
- 只在某些位置拆分数组,而不在其他位置拆分
- RadTreeView在IE11不必要的触发事件中不起作用
- “期望赋值或函数调用,而是看到了表达式.” - 不必要的控制台.log
- 包含特殊字符 (!,@,#,&) 不包括其他特殊字符
- 避免在 Angular.js 中对绑定值进行不必要的评估
- 避免在视差滚动效果中对图像进行不必要的缩放
- Redux防止不必要的渲染
- DOM对象而不是其他DOM对象
- 如何在不影响其他按钮的情况下更改按钮
- Javascript - 预填充 cookie 信息,以在指向外部站点的链接上交叉传递不必要的登录页面
- AngularJS路由:URL中不必要的参数
- 仅从表中选中所有复选框,而不从其他表中选中所有复选框
- D3 - 在两个不与其他对象相交的对象之间绘制一条线
- 简化这个不必要的JavaScript
- JSLint 错误:“中断后不必要的其他”