Rumah >hujung hadapan web >tutorial js >Menggunakan Object.prototype.toString dalam JavaScript untuk menentukan sama ada ia adalah petua array_javascript

Menggunakan Object.prototype.toString dalam JavaScript untuk menentukan sama ada ia adalah petua array_javascript

WBOY
WBOYasal
2016-05-16 16:06:321242semak imbas

Mengapa menggunakan Object.prototype.toString dan bukannya Function.prototype.toString atau lain-lain? Ini berkaitan dengan kaedah tafsiran toString mereka. Berikut ialah penjelasan Object.prototype.toString dalam ECMA:

Salin kod Kod adalah seperti berikut:

Object.prototype.toString( )

Apabila kaedah toString dipanggil, langkah berikut diambil:
1. Dapatkan sifat [[Kelas]] objek ini.
2. Kira nilai rentetan dengan menggabungkan tiga rentetan “[objek “, Hasil (1) dan “]”.
3. Keputusan Pulangan (2)


Prosesnya adalah seperti berikut: 1. Dapatkan nama kelas (jenis objek) objek. 2. Kemudian gabungkan [objek, nama kelas yang diperoleh,] dan kembalikan.
ECMA mempunyai perihalan Array berikut:
Salin kod Kod adalah seperti berikut:

Sifat [[Kelas]] objek yang baru dibina ditetapkan kepada "Array".

Jadi kami menggunakan kod berikut untuk mengesan tatasusunan:
Salin kod Kod adalah seperti berikut:

function isArray(o) { return Object.prototype.toString.call(o) === '[object Array]';
Kaedah ini bukan sahaja menyelesaikan masalah merentas halaman instanceof, tetapi juga menyelesaikan masalah kaedah pengesanan atribut Ia benar-benar rampasan kuasa dan penyelesaian yang baik.
Di samping itu, penyelesaian ini juga boleh digunakan untuk menentukan objek Tarikh, Fungsi dan jenis lain.

Terdapat beberapa kaedah lain:

Salin kod Kod adalah seperti berikut:
var arr = []; kembalikan contoh Array

Jika ada kaedah lain yang bagus, sila siarkan.
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