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
Lepaskan: 2016-05-16 15:14:00
asal
1267 orang telah melayarinya

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
Salin selepas log masuk

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;
Salin selepas log masuk
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 这两段代码是一样的
Salin selepas log masuk
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));
Salin selepas log masuk
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.

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan