Rumah  >  Artikel  >  hujung hadapan web  >  javascript n ralat

javascript n ralat

PHPz
PHPzasal
2023-05-06 11:08:07465semak imbas

Sebagai bahasa pengaturcaraan yang digunakan secara meluas, JavaScript sering digunakan dalam aplikasi web dan tapak web. Ralat "n" dalam bahasa Java adalah salah satu ralat biasa, yang disebabkan oleh ralat nol dalam bahasa Java. Ia mungkin menyebabkan beberapa bahagian kod tidak dijalankan, sekali gus menjejaskan keberkesanan keseluruhan kod. Dalam artikel ini, kita akan melihat punca, punca, dan penyelesaian kepada masalah ini.

Sebab

Ralat 'n' dalam JavaScript disebabkan oleh ralat konsep yang mudah. Ralat ini biasanya berlaku apabila kami cuba mengakses sifat atau kaedah objek yang tidak ditentukan. Contohnya, dalam kod berikut, kami ingin mengakses nama harta objek orang, tetapi orang objek tidak ditakrifkan:

person.name;

Memandangkan orang tidak ditentukan, enjin akan Kembali null. Jika kami terus mencuba untuk mengakses sifat nol, ralat JavaScript 'n' akan berlaku.

Sebab

Apabila kita cuba mengakses sifat objek null, enjin akan membuang pengecualian kerana null itu sendiri tidak mempunyai sebarang sifat. Oleh itu, kami tidak boleh mengakses sifat dan kaedah nol. Selain itu, ralat juga muncul apabila kami cuba melakukan operasi berkaitan null. Contohnya, kita tidak boleh menggunakan objek null untuk mencipta objek baharu, seperti:

var obj = new null;

Apabila kita cuba mencipta objek baharu, kita perlu menggunakan objek sebagai sebuah pangkalan. Oleh kerana null bukan objek, ralat berlaku.

Penyelesaian

Kami boleh mengambil penyelesaian berikut untuk mengelakkan ralat "n" JavaScript:

1 Periksa sama ada objek ditakrifkan

Sebagaimana kita disebutkan dalam punca, ralat JavaScript 'n' biasanya disebabkan apabila kami cuba mengakses objek yang tidak ditentukan. Oleh itu, kita harus sentiasa menyemak sama ada objek ditakrifkan sebelum cuba mengakses sifat atau kaedahnya. Berikut ialah contoh mudah:

if(person !== undefined){
var name = person.name;
}

Dalam contoh ini, kami menggunakan if Penyata menyemak sama ada orang objek telah ditakrifkan. Jika kami telah menyemak sama ada objek itu ditakrifkan sebelum mengakses nama harta orang, kami akan mengelakkan ralat JavaScript 'n'.

2. Gunakan ungkapan ternary

Kita boleh menggunakan ungkapan ternary untuk mengelakkan ralat "n" JavaScript. Ungkapan ternary terdiri daripada tiga bahagian: keadaan, nilai kebenaran dan nilai palsu. Berikut ialah contoh mudah:

var name = person ? person.name : "";

Dalam contoh ini, kami menggunakan ungkapan ternary untuk menyemak sama ada orang objek itu benar atau tidak . Jika orang objek wujud, maka kita boleh mengakses nama atributnya. Jika tidak, kami mengembalikan rentetan kosong, mengelakkan ralat JavaScript 'n'.

3. Gunakan nilai lalai

Kami boleh menggunakan nilai lalai untuk mengelakkan ralat 'n' JavaScript. Nilai lalai bermakna apabila nilai tidak ditentukan, nilai lain digunakan sebaliknya. Berikut ialah contoh mudah:

var name = person.name || "";

Dalam contoh ini, kami menggunakan operator OR logik untuk menyemak sama ada orang objek ditakrifkan. Jika orang objek wujud dan ia mempunyai nama yang dinamakan atribut, maka kami menetapkan nilai kepada nama pembolehubah. Jika tidak, kami akan menggunakan rentetan kosong sebagai nilai lalai.

Ringkasan

Ralat "n" JavaScript disebabkan oleh mengakses sifat atau kaedah objek yang tidak ditentukan. Terdapat beberapa penyelesaian yang boleh kita ambil untuk mengelakkan ralat ini, termasuk menyemak sama ada objek telah ditakrifkan, menggunakan ungkapan ternary dan menggunakan nilai lalai. Mengelakkan ralat JavaScript 'n' meningkatkan keteguhan dan kebolehpercayaan kod kami, memastikan aplikasi dan tapak web kami berfungsi dengan baik.

Atas ialah kandungan terperinci javascript n ralat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn