Rumah  >  Artikel  >  hujung hadapan web  >  Mengapa jQuery Menggunakan `typeof variable === \'undefined\'` untuk Global Variables dan `variable === undefined` untuk Local Variables?

Mengapa jQuery Menggunakan `typeof variable === \'undefined\'` untuk Global Variables dan `variable === undefined` untuk Local Variables?

Linda Hamilton
Linda Hamiltonasal
2024-10-31 22:58:29624semak imbas

Why Does jQuery Use `typeof variable ===

Memahami Perbezaan: pembolehubah === tidak ditentukan vs. jenis pembolehubah === "tidak ditentukan"

Dalam Garis Panduan Gaya Teras jQuery, dua kaedah dicadangkan untuk mengesahkan sama ada pembolehubah ditakrifkan:

  • Pembolehubah Global: jenis pembolehubah === "undefined"
  • Pembolehubah Setempat dan Sifat: pembolehubah === tidak ditentukan

Mengapa perbezaan ini?

Penjelasan terletak pada gelagat pengendali ini apabila berurusan dengan pembolehubah yang tidak diisytiharkan. Untuk pembolehubah yang tidak diisytiharkan, typeof foo akan mengembalikan "tidak ditentukan" sebagai rentetan. Walau bagaimanapun, semakan identiti foo === undefined akan menimbulkan ralat "foo tidak ditakrifkan."

Bedakan ini dengan pembolehubah tempatan. Memandangkan ia diisytiharkan secara eksplisit di suatu tempat, mencuba pembolehubah semakan identiti === undefined tidak akan mencetuskan ralat.

Oleh itu, jQuery menggunakan operator jenis untuk pembolehubah global, yang mungkin atau mungkin tidak diisytiharkan, untuk mengelakkan potensi kesilapan. Untuk pembolehubah dan sifat tempatan, di mana pengisytiharan dipastikan, semakan identiti diutamakan kerana kesederhanaannya.

Atas ialah kandungan terperinci Mengapa jQuery Menggunakan `typeof variable === \'undefined\'` untuk Global Variables dan `variable === undefined` untuk Local Variables?. 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