Rumah >hujung hadapan web >tutorial js >Mengapakah Konsol JavaScript Mencetak \'Tidak Ditakrifkan\' untuk Pengisytiharan Pembolehubah?
Apabila mengisytiharkan pembolehubah menggunakan kata kunci var di konsol, seseorang mungkin terkejut melihat "tidak ditentukan" dicetak sebagai hasilnya.
Dalam JavaScript, kata kunci var mengisytiharkan pembolehubah, tetapi tanpa memberikannya nilai secara eksplisit, ia kekal tidak ditentukan. Apabila pernyataan pengisytiharan pembolehubah dinilai di konsol, hasilnya ialah nilai ungkapan yang sedang dinilai, yang, dalam kes ini, ialah pembolehubah tidak ditentukan.
Walau bagaimanapun, ia adalah perlu diperhatikan bahawa apabila pembolehubah diisytiharkan dengan tugasan, hasil yang dicetak ialah nilai yang diberikan. Contohnya, var a = 5 akan mencetak 5.
Gelagat konsol semasa berurusan dengan pengisytiharan var boleh dikesan kembali kepada semantik model penilaian JavaScript. Menurut spesifikasi ECMAScript:
Dalam kes var a;, kerana tiada tugasan, nilai penyiapan ialah (normal, kosong, kosong). Oleh itu, keputusan penilaian tidak ditentukan.
Satu lagi pemerhatian menarik ialah pengisytiharan fungsi juga kembali (biasa, kosong, kosong) dan dengan itu mencetak tidak ditentukan apabila dinilai di konsol. Walau bagaimanapun, apabila fungsi diisytiharkan sebagai ungkapan, seperti (fungsi f() {}), hasilnya ialah fungsi itu sendiri. Perbezaan ini menyerlahkan perbezaan halus antara Pengisytiharan Fungsi dan Ungkapan Fungsi dalam JavaScript.
Atas ialah kandungan terperinci Mengapakah Konsol JavaScript Mencetak \'Tidak Ditakrifkan\' untuk Pengisytiharan Pembolehubah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!