Rumah >hujung hadapan web >tutorial js >Kaedah JavaScript untuk menentukan sama ada pembolehubah ialah kemahiran tatasusunan (Array)_javascript

Kaedah JavaScript untuk menentukan sama ada pembolehubah ialah kemahiran tatasusunan (Array)_javascript

WBOY
WBOYasal
2016-05-16 15:14:001268semak imbas

Hari ini, editor akan menyusun beberapa pengetahuan yang berkaitan tentang JavaScript untuk menentukan sama ada pembolehubah ialah tatasusunan (Array) Topik akan dikembangkan melalui empat perkara berikut

1. Adakah jenis ini benar-benar berkuasa? ?

//首先看代码
var ary = [1,23,4];
console.log(typeof ary); //输出结果是Object

Kaedah di atas tidak dapat mengesan dalam masa nyata sama ada ia adalah tatasusunan, tetapi hanya boleh menentukan jenisnya Oleh itu, typeof pandai menilai data jenis asas, tetapi ia tidak dapat menguji dengan tepat sama ada ia adalah tatasusunan (penggunaan khusus bagi. typeof akan disebut kemudian) , kini kembali kepada topik)

2.contoh penghakiman

var ary = [1,23,4];
console.log(ary instanceof Array)//true;
Berdasarkan kesan keluaran, ia boleh mengesan dengan tepat sama ada jenis data itu adalah suatu tatasusunan. Mari kita fikirkan tentang kelemahan ini dahulu 🎜>

3. Kaedah rantaian prototaip

var ary = [1,23,4];
console.log(ary.__proto__.constructor==Array);//true
console.log(ary.constructor==Array)//true 这两段代码是一样的
Kaedah ini sangat canggih~~ Ia menggunakan kaedah rantaian prototaip, tetapi ini serasi Dalam versi awal IE, __proto__ tidak ditakrifkan~ Selain itu, ini masih mempunyai Had, mari kita ringkaskan batasan kedua dan ketiga. kaedah

Ringkaskan batasan kaedah kedua dan ketiga

Pembolehubah yang dinilai oleh instanceof dan constructor mesti diisytiharkan pada halaman semasa Contohnya, halaman (halaman induk) mempunyai bingkai, halaman (halaman kanak-kanak) dirujuk dalam bingkai, dan ary diisytiharkan dalam. halaman anak, dan Berikannya kepada pembolehubah halaman induk, kemudian nilaikan pembolehubah itu, Array == object.constructor akan mengembalikan false;

Sebab:

1. Array ialah data rujukan Semasa proses pemindahan, ia hanyalah pemindahan alamat rujukan.

2. Alamat yang dirujuk oleh objek asli Array setiap halaman adalah berbeza Pembina tatasusunan yang sepadan yang diisytiharkan dalam sub-halaman ialah objek Array bagi halaman induk membuat pertimbangan dan menggunakan Array Ia tidak sama dengan Array subhalaman ingat, jika tidak, ia akan menjadi sukar untuk mengesan masalah!

4. Kaedah biasa

Untuk penggunaan khusus Object.prototype.toString, sila rujuk
var ary = [1,23,4];
function isArray(o){
return Object.prototype.toString.call(o)=='[object Array]';
}
console.log(isArray(ary));
Penggunaan Object.prototype.toString

Baiklah, saya akan memperkenalkan kepada anda banyak tentang kaedah JavaScript untuk menentukan sama ada pembolehubah ialah tatasusunan (Array Hari ini saya akan meringkaskan empat jenis ini untuk anda Jika artikel ini tidak ditulis dengan baik, sila berikan saya beberapa). nasihat.

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