2

パラメータを取り、それを使っていくつかの計算を実行する関数があります。パラメータは数値です。ただし、パラメータが0の場合、jsはそれを未定義として扱います。だから私がそれをチェックした場合:

if (param == 0) { ... }

これは常にfalseです。なぜなら、それparam==0はtrueだからです。したがって、コードを書き直して、param=0の場合の特別なケースを用意する必要があります。 falseparam==undefined

例:
result= param*123*456 +789; これは次のように変更する必要があります:

if (param == undefined) {
  result= 789;
} else {
  result= param*123*456 +789;
}
return result;

これは繰り返しコードです。より良い方法があるに違いありません。より良い方法は何ですか?

4

3 に答える 3

3

あなたは実行することができます

param = param || 0;

関数の上部にあります。

これにより、0になる場合paramは確実になり、すべての計算が期待どおりに機能します。undefined

于 2013-01-21T21:39:51.360 に答える
3

コードを次のように更新します

result= (param||0)*123*456 +789;
于 2013-01-21T21:40:06.367 に答える
0

一番上に置くだけif (param === undefined) param = 0;です。

しかし、あなたの問題はおそらく他の場所にあります。「ただし、パラメータが0の場合、jsはそれを未定義として扱います」と言いますが、これは正常ではありません。

于 2013-01-21T21:42:13.647 に答える