我想简化下面的代码。这些代码似乎对我来说是多余的。这里有人能帮助我吗?非常感谢!如何简化我的条件语句?
if(area.regionCode=='0' || area.regionCode==null){
var fakecode=area.region.substring(0, area.region.length - 1);
area.region= fakecode +i;
}
我想简化下面的代码。这些代码似乎对我来说是多余的。这里有人能帮助我吗?非常感谢!如何简化我的条件语句?
if(area.regionCode=='0' || area.regionCode==null){
var fakecode=area.region.substring(0, area.region.length - 1);
area.region= fakecode +i;
}
每当你觉得有些代码没有直接透露,试着给它一个合适的名字一个新的家庭:
if (!isValidRegionCode(area.regionCode)) {
...
}
...
function isValidRegionCode(regionCode) {
return area.regionCode != null && area.regionCode != '0';
}
它有更多的代码整体,但让你的意图明确。
+1 from me。还意味着什么是有效的区域代码(在您的示例中)的“定义”可以在代码中的单个点处重新使用和维护。 – Sepster
我会建议明确的条件检查。使用时:
if (area.regionCode) { }
逻辑样式,一个是将varAny作为布尔值处理。因此,JavaScript将执行隐式转换为任何对象类型varAny的布尔值。
或
if(Boolean(area.regionCode)){
codes here;
}
都将努力同
返回false为下,
对于字符串零“0”和空格“”,请注意返回true。
你也可以先调整输出使" "
问题将得到解决 这里的教程在@mttrb How do I trim a string in javascript?
和@nnnnnn描述的情况下,你可以先转换字符串或者通过parseInt()
和parseFloat()
检查这个整数或浮点数Converting strings to numbers
if(parseInt(area.regionCode) > 0) {}
空字符串''''怎么样?它是“真”还是“假”? – zerkms
如果代码的想法是在'area.region'值的末尾更新一个计数器,请注意当它们超过10个时,使当前数字有两位数(您的代码只会更新最后一个数字)。 – nnnnnn
我想如果这两个明确的情况是你正在测试的,那么这个条件逻辑就OK了。如果你真的担心语法,你可以编写一个函数,例如叫做“isNullOrZero()”。 – Sepster