JavaScript typeof, null, 和 undefined
pengendali jenis
Anda boleh menggunakan operator jenis untuk mengesan jenis data pembolehubah.
Operan jenis tidak ditentukan dan nilai pulangan adalah "tidak ditentukan".
Boolean typeof(x) = "boolean"
Objek, tatasusunan dan null typeof(x) = "objek"
Fungsi typeof(x) = "function"
typeof Operator mengembalikan rentetan yang mewakili jenis data ungkapan.
Contohnya:
alert(typeof ("123"));//typeof("123" ) Mengembalikan "rentetan"
jenis operator mengembalikan rentetan yang mewakili jenis data ungkapan.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = typeof "john" + "<br>" + typeof 3.14 + "<br>" + typeof false + "<br>" + typeof [1,2,3,4] + "<br>" + typeof {name:'john', age:34}; </script> </body> </html>
Null Jenis nilai nol bermaksud pembolehubah atau kandungan tidak mempunyai nilai. Contohnya, apabila tiada kandungan dalam kotak input teks borang, apabila kami cuba menggunakan JavaScript untuk mendapatkan nilai elemen kotak input teks, hasilnya adalah batal.
Untuk menentukan sama ada ia adalah nilai nol, cuma bandingkan kandungan yang hendak dibandingkan dengan null:
jika( x == null ) { ... }
Memandangkan ciri-ciri operasi sistem Web, dalam banyak kes, kandungan pembolehubah boleh dikosongkan dengan memberikan nilai nol kepada pembolehubah tanpa sengaja memusnahkan pembolehubah.
UndefinedSelepas pembolehubah dicipta, jika tiada nilai diberikan kepada pembolehubah, pembolehubah itu adalah jenis yang tidak ditentukan. Jenis yang tidak ditentukan mempunyai nilai tertentu yang tidak ditentukan, jadi untuk menentukan sama ada pembolehubah atau hasil pulangan adalah jenis yang tidak ditentukan, cuma bandingkannya dengan yang tidak ditentukan:
jika( x == tidak ditentukan ) { ... }Perbezaan antara Undefined dan Null Jenis Undefined hanya mempunyai satu nilai, iaitu undefined. Apabila pembolehubah yang diisytiharkan belum dimulakan, nilai lalai pembolehubah tidak ditentukan. tidak ditentukan bermaksud pembolehubah belum diisytiharkan, atau ia telah diisytiharkan tetapi belum diberikan nilai (tidak diinisialisasikan Nilai pembolehubah parameter formal tanpa parameter sebenar tidak ditentukan Jika a fungsi tidak mengembalikan apa-apa, Kemudian fungsi mengembalikan undefined secara lalai; 🎜>Javascript never Pembolehubah tidak akan ditetapkan kepada null. Ia digunakan untuk membenarkan pengaturcara menunjukkan bahawa pembolehubah yang diisytiharkan dengan var tidak mempunyai nilai undefined bukan JSON yang sah, tetapi null ialah jenis undefined (typeof) adalah undefined; >Jenis null ialah objek.; Semuanya adalah jenis asas; Semuanya palsu (Boolean(undefined) ->// false, Boolean(null) -> // false); Anda boleh menentukan sama ada pembolehubah tidak ditakrifkan dengan cara ini. typeof variable === "undefined"; Anda boleh menentukan sama ada pembolehubah adalah nol dengan cara ini. pembolehubah === null; Tanda sama berganda adalah sama apabila dibandingkan (null==undefined ->// true), tetapi tanda sama tiga kali ganda tidak sama apabila dibandingkan (null===undefined-> // palsu);
Jenis Null juga hanya mempunyai satu nilai, iaitu null. Null digunakan untuk mewakili objek yang belum wujud Ia sering digunakan untuk menunjukkan bahawa fungsi cuba mengembalikan objek yang tidak wujud. <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML =
typeof undefined + "<br>" +
typeof null + "<br>" +
(null === undefined) + "<br>" +
(null == undefined);
</script>
</body>
</html>