Rumah  >  Artikel  >  hujung hadapan web  >  Mengapa Anda Perlu Sentiasa Menggunakan \"var\" Semasa Mengisytiharkan Pembolehubah dalam JavaScript?

Mengapa Anda Perlu Sentiasa Menggunakan \"var\" Semasa Mengisytiharkan Pembolehubah dalam JavaScript?

Linda Hamilton
Linda Hamiltonasal
2024-11-01 09:19:02781semak imbas

Why Should You Always Use

Mengisytiharkan Pembolehubah Tanpa "var" Kata Kunci: Bahaya Global Tersirat

Di w3schools, dinyatakan bahawa pembolehubah diisytiharkan tanpa "var " kata kunci menjadi global. Walaupun ini mungkin kelihatan seperti cara yang mudah untuk mengisytiharkan pembolehubah global, ia boleh membawa kepada masalah penting yang dikenali sebagai "Kengerian Global Tersirat."

Pertimbangkan contoh berikut:

function foo() {
    variable1 = 5;
    varaible2 = 6;
    return variable1 + variable2;
}

Anda mungkin mengharapkan fungsi ini mengembalikan 11; bagaimanapun, ia mengembalikan NaN disebabkan kesilapan menaip pada "varaible2 = 6;" barisan. Lebih teruk lagi, kesilapan menaip ini secara tidak sengaja mencipta pembolehubah global dengan nama salah ejaan "varaible2."

Masalah timbul apabila pembolehubah global ini diubah suai secara tidak sengaja di luar skop fungsi "foo", yang membawa kepada tingkah laku dan potensi yang tidak dijangka kelemahan keselamatan.

Oleh itu, adalah amat disyorkan untuk sentiasa mengisytiharkan pembolehubah menggunakan kata kunci "var", walaupun untuk pembolehubah global. Dengan mengisytiharkan pembolehubah secara eksplisit, anda memastikan pembolehubah itu diskop dengan betul dan mengelakkan perangkap global tersirat.

Atas ialah kandungan terperinci Mengapa Anda Perlu Sentiasa Menggunakan \"var\" Semasa Mengisytiharkan Pembolehubah dalam JavaScript?. 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