isNaN function 指定された値が予約値 NaN (数値ではない) かどうかを示すブール値を返します。
NaN は数値ではないことを意味します。
isNaN(numValue)
必須オプション numvalue パラメーターは、NAN であるかどうかを確認する値です。
説明 値が NaN の場合、isNaN 関数は true を返し、それ以外の場合は false を返します。 この関数の一般的な使用例は、parseInt メソッドと parseFloat メソッドの入力値をチェックすることです。
あるいは、変数をそれ自体と比較することもできます。 比較の結果が等しくない場合は、 NaN になります。 これは、NaN がそれ自体と等しくない唯一の値であるためです。
IsNaN 関数の使用例: たとえば、数値データを入力するためのテキスト ボックスがある場合、フォームを送信するときに、テキスト ボックス内の値がデータであるかどうかを確認したい場合は、isNaN 関数を使用できます。
function checkValue()
{
if (isNaN(document.all.textbox.value))
{
alert("数字を入力してください!");
return
}
}
isNaN の一般的な使用法は、parseInt メソッドと parseFloat メソッドの入力値の早期チェックを実行することですが、この単純な結果は良くありません。教科書によってはそのように記載されており、parseInt や parseFloat をチェックするための戻り値であると誤解している場合もありますが、これは間違いです。
parseInt と parseFloat は文字型を数値に変換します。ただし、入力値が数値でない場合、parseInt と parseFloat は「数値ではありません」というメッセージを返しますが、通常は数値文字列を変換します。デジタルでないものを変換するのは面倒でしょう。ものは?したがって、最初に isNaN チェックを実行して、入力したパラメータが修飾されているかどうかを確認できます。
しかし、意識して次のような動作をすると、isNaNを使って事前にチェックすることができず、数字の先頭に文字がある場合にisNaNを使ってチェックすると通りません。
空の文字列またはスペースの場合、isNaN は数値 0 として処理され、parseInt および parseFloat はエラー メッセージを返します。この isNaN チェックは厳密ではないため、それが原因です。
2 つの関数は独立しており、一方が他方のために存在することはありません。isNaN は parseInt/parseFloat とは関係がありません。