Dalam JavaScript, nilai seperti objek ialah nilai yang bukan primitif dan tidak tidak ditentukan. Nilai seperti objek ialah sebarang nilai yang bukan primitif, termasuk fungsi, tatasusunan dan objek. Terdapat cara yang berbeza dalam JavaScript untuk menyemak sama ada nilai ialah objek. Dalam artikel ini, kami akan memperkenalkan 3 cara untuk menyemak sama ada nilai ialah objek kelas dalam JavaScript.
typeof operator ialah operator terbina dalam dalam JavaScript yang digunakan untuk menyemak jenis nilai. Operator jenis mengembalikan rentetan yang merupakan jenis nilai. Pengendali jenis boleh digunakan untuk menyemak sama ada nilai dalam JavaScript adalah serupa dengan objek.
<!doctype html> <html> <head> <title>Examples</title> </head> <body> <div id="result1"></div> <div id="result2"></div> <div id="result3"></div> <script> document.getElementById("result1").innerHTML ="typeof {}: " + typeof {}; document.getElementById("result2").innerHTML ="typeof []: " + typeof []; document.getElementById("result3").innerHTML ="typeof function(){}: " + typeof function(){}; </script> </body> </html>
Berikut ialah penjelasan terperinci tentang coretan kod di atas:
Dalam pernyataan pertama dalam teg skrip, kami sedang menyemak jenis objek kosong {}. ini Pengendali jenis mengembalikan rentetan "objek" objek kosong. Dalam pernyataan kedua, Kami sedang menyemak jenis tatasusunan kosong []. operator typeof mengembalikan rentetan "objek" bermaksud tatasusunan kosong. Dalam pernyataan ketiga kami menyemak jenis an Fungsi fungsi tanpa nama(){}. Pengendali jenis mengembalikan "fungsi" rentetan Fungsi tanpa nama.
instanceof operator ialah operator terbina dalam dalam JavaScript yang digunakan untuk menyemak sama ada nilai ialah contoh fungsi pembina. instanceof operator mengembalikan nilai boolean nilai, benar jika nilai adalah contoh pembina; nilai bukan contoh pembina. Anda boleh menggunakan instanceof operator Semak sama ada nilai dalam JavaScript adalah seperti objek.
<!doctype html> <html> <head> <title>Examples</title> </head> <body> <div id="result1"></div> <div id="result2"></div> <div id="result3"></div> <script> document.getElementById("result1").innerHTML = "Is {} an instance of Object: " + ({} instanceof Object); document.getElementById("result2").innerHTML = "Is [] an instance of Array: " +([] instanceof Array); document.getElementById("result3").innerHTML ="Is function(){} is an instance of Function: " + (function(){} instanceof Function); </script> </body> </html>
Dalam teg skrip, dalam pernyataan pertama, kami menyemak sama ada objek kosong {} ialah Contoh pembina objek. instanceof operator kembali Nilai Boolean benar untuk objek kosong. Dalam pernyataan kedua kita menyemak sama ada Tatasusunan kosong[] ialah contoh pembina Tatasusunan. pengendali contoh Mengembalikan Boolean benar untuk tatasusunan kosong. Dalam pernyataan ketiga kita sedang menyemak Jika fungsi tanpa nama function(){} ialah contoh pembina Fungsi. Untuk fungsi tanpa nama, pengendali instanceof mengembalikan nilai Boolean benar. Kaedah
Object.prototype.toString() Strong> kaedah ialah kaedah terbina dalam JavaScript yang digunakan untuk menukar objek kepada rentetan. Kaedah Object.prototype.toString() boleh digunakan untuk menyemak sama ada nilai dalam JavaScript adalah seperti objek.
<!doctype html> <html> <head> <title>Examples</title> </head> <body> <div id="result1"></div> <div id="result2"></div> <div id="result3"></div> <script> document.getElementById("result1").innerHTML = Object.prototype.toString.call({}) document.getElementById("result2").innerHTML = Object.prototype.toString.call([]) document.getElementById("result3").innerHTML = Object.prototype.toString.call(function(){}) </script> </body> </html>
Dalam pernyataan pertama di dalam tag skrip, kami menggunakan Kaedah Object.prototype.toString() menukar objek kosong {} kepada rentetan. ini Kaedah Object.prototype.toString() mengembalikan rentetan "[objek Objek]" Objek kosong.
Dalam pernyataan kedua di dalam tag skrip yang kami gunakan Kaedah Object.prototype.toString() menukar tatasusunan kosong[] kepada rentetan. ini Kaedah Object.prototype.toString() mengembalikan rentetan kosong "[object Array]"
Dalam pernyataan ketiga, kami menggunakan kaedah Object.prototype.toString() untuk Tukar fungsi fungsi tanpa nama(){} kepada rentetan. ini Kaedah Object.prototype.toString() mengembalikan rentetan "[objek Fungsi]" Fungsi tanpa nama.
Dalam tutorial ini kami melihat tiga cara berbeza untuk menyemak sama ada nilai adalah serupa dengan objek JavaScript. Kami melihat jenis operator, instanceof operator, dan Kaedah Object.prototype.toString(). Semua kaedah ini boleh digunakan untuk menyemak sama ada nilai itu Sama seperti objek dalam JavaScript.
Atas ialah kandungan terperinci Bagaimana untuk menyemak sama ada nilai adalah seperti objek dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!