如何简化条件语句?

时间:2012-09-18 02:38:01

标签: javascript

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

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

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

3 个答案:

答案 0 :(得分:2)

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

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

...

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

它总体上有更多的代码,但是你的意图很明确。

答案 1 :(得分:0)

我建议明确的条件检查。使用时:

if (area.regionCode)  {   }

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

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

两者都会一样

为以下内容返回false,

  • 未定义
  • 0
  • ""
  • 假。

要注意字符串零返回true" 0"和空白" "

您还可以先修改输出,以便解决" "问题 这里有教程How do I trim a string in javascript?

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

答案 2 :(得分:0)

if(parseInt(area.regionCode) > 0) {}