4

我正在尝试简化以下代码。这些代码对我来说似乎是多余的。这里有没有人可以帮助我?非常感谢!

if(area.regionCode=='0' || area.regionCode==null){  

    var fakecode=area.region.substring(0, area.region.length - 1);
        area.region= fakecode +i;
}
4

3 回答 3

2

每当您认为某些代码没有直接暴露时,请尝试给它一个合适名称的新家:

if (!isValidRegionCode(area.regionCode)) {  
  ...
}

...

function isValidRegionCode(regionCode) {
  return area.regionCode != null && area.regionCode != '0';
}

它总体上具有更多代码,但使您的意图清晰。

于 2012-09-18T03:22:45.747 回答
0

我会推荐明确的条件检查。使用时:

if (area.regionCode)  {   }

逻辑风格,一种是将 varAny 视为布尔值。因此,JavaScript 将执行隐式转换为任何对象类型 varAny 的布尔值。

或者

 if(Boolean(area.regionCode)){
        codes here;
    }

两者都一样

为以下内容返回 false,

  • 空值
  • 不明确的
  • 0
  • “”
  • 错误的。

当心字符串零“0”和空格“”返回true。

你也可以先修剪输出所以" "问题将在这里解决教程 如何在javascript中修剪字符串?

在@mttrb 和@nnnnnn 描述的情况下,您可以首先将字符串转换为int 或float byparseInt()parseFloat()检查此Converting strings to numbers

于 2012-09-18T02:40:57.897 回答
0
if(parseInt(area.regionCode) > 0) {}
于 2012-09-18T02:58:25.470 回答