JavaScript では、NaN
は特別な数値 (typeof NaN
の結果は number
) です。 は数値ではありません
は、有効な数値ではないことを示す略語です。
#1. NaN の生成:
Number('abc') // NaN Number(undefined) // NaN
Math.log(-1) // NaN Math.sqrt(-1) // NaN Math.acos(2) // NaN
NaN + 1 // NaN 10 / NaN // NaN
2 です。 注記
NaN は、
がそれ自体と等しくない唯一の値です: NaN === NaN // false
3。 NaN グローバル関数
isNaN() を使用して、値が 非数値
であるかどうかを判断できます (数値かどうかの判断には使用されません)。値 NaN) ではありません: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">isNaN(NaN) // true
isNaN(10) // false</pre><div class="contentsignin">ログイン後にコピー</div></div>
値
であるかどうかを判断するために isNaN()
が使用されないのはなぜですか? isNaN
は数値以外では機能しないため、最初にこれらの値を数値に変換します。結果として NaN
が生成される可能性があり、その後、関数は誤った値を返します。 true
: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">isNaN('abc') // true</pre><div class="contentsignin">ログイン後にコピー</div></div>
したがって、この値が
であることを確認するには、次の 2 つの方法を使用できます。
typeof
と組み合わせて
function isValueNaN(value) { return typeof value === 'number' && isNaN(value) }
Only
このような特性を持つ値です)function isValueNaN(value) { return value !== value }
以上がJavaScript の NaN について説明する記事の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。