typeof和instanceof的区别是什么
typeof和instanceof的区别是:typeof的返回值是一个字符串,用来说明变量的数据类型;instanceof的返回值是布尔值,用于判断一个变量是否属于某个对象的实例。
比较typeof与instanceof
相同点:
JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空, 或者是什么类型的。
(学习视频推荐:javascript视频教程)
不同点:
typeof:
1、返回值是一个字符串, 用来说明变量的数据类型。
2、typeof 一般只能返回如下几个结果: number, boolean, string, function, object, undefined。
if (typeof a != "undefined") { console.log("ok"); } eles { console.log("not ok"); } //下面的代码是错误的 // if (a) //因为如果 a 不存在( 未声明) 则会出错。 // if (a) { // console.log("ok"); // } else { // console.log('cc'); // }
对于 Array, Null 等特殊对象使用 typeof 一律返回 object, 这正是 typeof 的局限性。
instanceof:
1、返回值为布尔值
2、instanceof 用于判断一个变量是否属于某个对象的实例。
// var a = new Array(); // alert(a instanceof Array); // true // alert(a instanceof Object) // true //如上, 会返回 true, 同时 alert(a instanceof Object) 也会返回 true; // 这是因为 Array 是 object 的子类。 // alert(b instanceof Array) // b is not defined // function Test() {}; // var a = new test(); // alert(a instanceof test) // true
相关推荐:js教程
Atas ialah kandungan terperinci typeof和instanceof的区别是什么. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Fungsi instanceof adalah untuk menentukan sama ada objek adalah contoh kelas tertentu, atau sama ada ia melaksanakan antara muka tertentu. instanceof ialah operator yang digunakan untuk menyemak sama ada objek adalah jenis yang ditentukan. Senario penggunaan instanceof operator: 1. Pemeriksaan jenis: boleh digunakan untuk menentukan jenis objek tertentu, untuk melaksanakan logik yang berbeza mengikut jenis yang berbeza 2. Penghakiman antara muka: boleh digunakan untuk menentukan sama ada objek melaksanakan antara muka , untuk menentukan sama ada objek melaksanakan antara muka Definisi antara muka memanggil kaedah yang sepadan 3. Transformasi ke bawah, dsb.

Konsep 1. Operator ini digunakan untuk mengendalikan objek dan menyemak sama ada objek itu daripada jenis tertentu (jenis atau jenis antara muka). Format 2. Jika objek yang ditunjuk oleh pembolehubah di sebelah kiri kalkulator ialah objek kelas atau antara muka di sebelah kanan operator, hasilnya adalah benar. (Objectreferencevariable)instanceof(class/interfacetype) instance packagecom.verify_instanceof;publicclassTestInstanceOf{publicstaticvoidmain(String[]args){//Empat baris kod berikut digunakan untuk membuktikan: instanceof

Instanceof ialah operator dalam JavaScript, digunakan untuk mengesan sama ada atribut "prototaip" pembina muncul di mana-mana dalam rantaian prototaip objek Sintaks ialah "objek instanceof constructor", di mana objek ialah objek yang akan dikesan dan pembina ialah. objek untuk dikesan Pembina untuk diperiksa.

Di Java, instanceof ialah operator binari yang digunakan untuk menyemak sama ada objek ialah contoh kelas atau contoh subkelas kelas nama atau nama antara muka.

Dalam JavaScript, typeof ialah operator yang digunakan untuk menentukan jenis data pembolehubah tertentu. Boleh digunakan untuk menentukan sama ada pembolehubah ialah rentetan, nombor, Boolean, fungsi, objek atau jenis data yang tidak ditentukan.

Sebabnya ialah: Operator instanceof digunakan untuk menyemak sama ada objek ialah contoh kelas tertentu (atau kelas terbitannya). Jika objek bukan contoh kelas, maka penentuan jenis tidak boleh dibuat dan ralat dilemparkan. Untuk mengelakkan ralat ini, apabila menggunakan pengendali instanceof, anda perlu memastikan bahawa objek adalah contoh kelas. Jika anda tidak pasti tentang jenis objek, anda boleh menggunakan kaedah lain untuk menentukan jenisnya.

Operator ini hanya digunakan untuk pembolehubah rujukan objek. Operator ini menyemak sama ada objek tergolong dalam jenis tertentu (jenis kelas atau jenis antara muka). Operator instanceof ditulis sebagai -(Objectreferencevariable)instanceof(class/interfacetype) Jika objek yang dirujuk oleh pembolehubah di sebelah kiri operator melepasi semakan IS-A bagi kelas/jenis antara muka di sebelah kanan, hasilnya akan menjadi benar. Berikut ialah contoh - Contoh Demonstrasi Langsung publicclassTest{ publicstaticvoidmain(Stringargs[]){&nbs

Apabila menggunakan operator instanceof untuk menyemak jenis objek, jika hasilnya benar, ini bermakna objek itu adalah contoh jenis yang ditentukan. Walau bagaimanapun, pengkompil tidak menukar objek secara automatik kepada jenis yang ditentukan, jadi pelakon diperlukan. Casting ialah operasi menukar objek daripada satu jenis kepada jenis yang lain. Selepas menggunakan pengendali instanceof, jika anda menentukan bahawa objek adalah tika jenis yang ditentukan dan ingin beroperasi dengan jenis itu, anda perlu melakukan penukaran jenis cast.
