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:
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!