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)  {   }

論理のスタイル、1 つは varAny をブール値として扱っています。したがって、JavaScript は、varAny のオブジェクト タイプに関係なく、ブール値への暗黙的な変換を実行します。

また

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

どちらも同じように動作します

以下の場合は false を返します。

  • ヌル
  • 未定義
  • 0
  • ""
  • 間違い。

beware は、文字列ゼロ "0" と空白 " " に対して true を返します。

最初に出力をトリムすることもできるので、" "問題はここで解決されますチュートリアル How do I trim a string in javascript?

@mttrb および @nnnnnn で説明されているケースでは、最初に文字列を int または float に変換し、このConverting strings to numbersparseInt()を確認できます。parseFloat()

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