Untuk instanceof dan typeof, saya pernah menggunakannya sebelum ini, terutamanya typeof, yang agak lebih digunakan Hari ini, apabila saya mempelajari kod sumber ext, instanceof telah digunakan di banyak tempat, saya tiba-tiba merasakan bahawa mereka agak serupa. tetapi mereka juga harus disertakan Perbezaan, saya membaca beberapa artikel dalam talian dan mempunyai pemahaman tertentu tentang hubungan antara mereka.
Instanceof dan typeof boleh digunakan untuk menentukan sama ada pembolehubah kosong atau jenis pembolehubah itu.
Typeof digunakan untuk mendapatkan jenis pembolehubah secara amnya hanya boleh mengembalikan hasil berikut: nombor, boolean, rentetan, fungsi, objek, tidak ditentukan. Kita boleh menggunakan typeof untuk mendapatkan sama ada pembolehubah wujud, seperti if(typeof a!="undefined"){}, dan bukannya menggunakan if(a) kerana jika a tidak wujud (tidak diisytiharkan), ralat akan berlaku , Null Apabila menggunakan typeof untuk objek khas, objek akan sentiasa dikembalikan Ini adalah had typeof.
Jika kita ingin mendapatkan sama ada objek ialah tatasusunan, atau menentukan sama ada pembolehubah ialah tika objek, kita mesti menggunakan instanceof. instanceof digunakan untuk menentukan sama ada pembolehubah adalah contoh objek Sebagai contoh, var a=new Array(); adalah kerana Array ialah subkelas objek. Contoh lain: function test(){};var a=new test();alert(a instanceof test) akan kembali benar.
Apabila ia datang kepada instanceof, kita perlu memasukkan satu lagi masalah, iaitu hujah fungsi Kita semua mungkin berfikir bahawa hujah adalah Array, tetapi jika anda menggunakan instanceof untuk menguji, anda akan mendapati bahawa hujah bukan satu. Objek tatasusunan, walaupun ia kelihatan serupa.