Mari bincang tentang undefined dahulu:
Pembolehubah dalam Javascript ditaip dengan lemah, jadi anda hanya perlu menggunakan kata kunci var semasa mengisytiharkan pembolehubah. Jika ia adalah bahasa yang ditaip kuat seperti C, jika tiada nilai awal dinyatakan semasa mengisytiharkan pembolehubah, ia akan diberikan nilai lalai Sebagai contoh, nilai lalai pembolehubah int ialah 0. Tetapi dalam bahasa yang ditaip lemah seperti Javascript, tidak ada cara untuk menentukan nilai lalai yang harus diberikan kepada pembolehubah sedemikian Contohnya, jika saya mengisytiharkan pembolehubah
var v1;
Adakah ia palsu, 0, atau ''?
Oleh kerana tiada jenis, ia tidak dapat ditentukan. Dalam Javascript, untuk pembolehubah sedemikian yang tidak mempunyai nilai awal yang diberikan selepas hayatnya, berikan ia tidak ditentukan. Tetapi premisnya ialah pembolehubah ini mesti telah diisytiharkan Jika ia adalah pengecam yang tidak diisytiharkan, ralat akan berlaku. Lihat kod di bawah.
vo="vo";//Jika anda tidak menggunakan kata kunci var, anda akan mencipta pembolehubah global Jika anda tidak menetapkan nilai, ralat akan dilaporkan, seperti berikut
//v1;//akan melaporkan ralat
var v2;//undeifned
var v3="";//null
makluman(vo);
//alert(v1);//
makluman(v2);
makluman(v3);
Mari bincang tentang null:
Javscript mempunyai beberapa jenis asas, Nombor, Rentetan, Boolean dan Objek. Untuk pembolehubah jenis objek, terdapat dua situasi: satu ialah ia adalah contoh objek, dan satu lagi ialah ia adalah rujukan nol Rakan yang biasa dengan bahasa berorientasikan objek seperti Java harus dengan mudah faham. Dalam kedua-dua kes, jenisnya ialah Object. Pembolehubah dalam Javascript hanya digunakan apabila memberikan nilai
Ia akan menentukan jenisnya, seperti berikut.
var v1 = 1; var v2 = true; alert(typeof v1); //number alert(typeof v2); //boolean v2 = new Date(); alert(typeof v2); //object v2 = "str"; alert(typeof v2); //string v2 = null; alert(typeof v2); //object
Ia mungkin tidak betul secara mutlak, untuk semua pembolehubah, selagi nilai awal belum ditentukan selepas pengisytiharan, maka ia tidak ditentukan Jika jenis Objek digunakan untuk menyatakan konsep rujukan nol, maka ia diwakili oleh null.
null: bermaksud tiada nilai; undefined: Menunjukkan pembolehubah yang tidak diisytiharkan, pembolehubah yang telah diisytiharkan tetapi tidak mempunyai nilai yang diberikan, atau sifat objek yang tidak wujud. Operator == menganggap kedua-duanya sama. Jika anda ingin membezakan antara keduanya, gunakan === atau operator jenis. Gunakan jika (!objek){} untuk memasukkan kedua-duanya.