ユーザーからの入力として数値を受け取り、その数値が負か正かを判断する JavaScript が与えられた場合、どのような状況で例外をスローしますか?
2068 次
3 に答える
2
例外的な状況では、例外をスローする必要があります。数値 (正または負) の入力を受け入れる場合、文字列やオブジェクトなど、基準に適合しないものは例外と見なす必要があります。
例:
// Assume the variable 'input' contains the value given by user...
if(typeof input != "number") {
throw "Input is not number!"
}
else {
// ... handle input normally here
}
于 2012-09-13T04:57:29.407 に答える
0
答えはコードによって異なります。
明らかな機能は次のとおりです。
function isPosOrNeg(x) {
return x < 0? 'negative' : 'positive';
}
例外がスローされていることを確認するのは非常に困難です。解決できない参照の場合x
は 1 つある可能性がありますが、そうではありません (これは正式なパラメーターであるため、実質的に宣言された変数です)。
<演算子は、指定された値によっては返される可能性がありますが、エラーをスローしない抽象的なリレーショナル比較アルゴリズムを使用します。undefined
undefined
呼び出し元が対処できる完全に合理的な応答であるため、エラーをスローすることはまったくありません。
パラメータをテストしたい場合は、おそらく次のようになります。
function isPosOrNeg(x) {
if ( isNaN(Number(x))) {
// throw an error
}
return x < 0? 'negative' : 'positive';
}
そのためisPosOrNeg('foo')
、エラーはスローされますが、スローされisPosOrNeg('5')
ません。
于 2012-09-13T05:03:52.940 に答える
0
これを試すことができます:
var inp="your input value";
if(isNaN(inp)){
return "Not a number";
} else {
if( inp > 0 ) {
return 'positive number';
} else if( inp < 0 ) {
return 'negative number';
} else {
return 'number is zero';
}
}
于 2012-09-13T05:04:38.200 に答える