Dalam JavaScript, NaN
ialah nilai angka khas (hasil daripada typeof NaN
ialah number
), iaitu singkatan daripada not a number
, yang bermaksud ia bukan nombor undang-undang.
1. Penjanaan NaN:
Number('abc') // NaN Number(undefined) // NaN
Math.log(-1) // NaN Math.sqrt(-1) // NaN Math.acos(2) // NaN
NaN
NaN + 1 // NaN 10 / NaN // NaN
2. Nota Perkara
NaN
ialah satu-satunya nilai yang nya tidak sama dengan dirinya sendiri:
NaN === NaN // false
3. Bagaimana Untuk mengenal pasti NaN
kita boleh menggunakan fungsi global isNaN()
untuk menentukan sama ada sesuatu nilai adalah bukan nombor (ia tidak digunakan untuk menentukan sama ada ia nilai NaN
):
isNaN(NaN) // true isNaN(10) // false
Mengapa dikatakan isNaN()
tidak digunakan untuk menilai sama ada ia adalah nilai NaN
? Oleh kerana isNaN
tidak berfungsi dengan bukan nombor, perkara pertama yang dilakukan ialah menukar nilai tersebut kepada nombor, yang mungkin menghasilkan NaN
, dan kemudian fungsi itu akan kembali dengan salah true
:
isNaN('abc') // true
Jadi kami ingin menentukan sama ada nilai ini NaN
Kami boleh menggunakan dua kaedah berikut:
isNaN()
dan typeof
untuk menentukan function isValueNaN(value) { return typeof value === 'number' && isNaN(value) }
NaN
yang mempunyai ciri sedemikian)
function isValueNaN(value) { return value !== value }
Atas ialah kandungan terperinci Artikel untuk bercakap tentang NaN dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!