Rumah >hujung hadapan web >tutorial js >Kaedah JavaScript untuk menentukan sama ada pembolehubah ialah kemahiran tatasusunan (Array)_javascript
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
2.contoh penghakiman
var ary = [1,23,4]; console.log(ary instanceof Array)//true;
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
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
var ary = [1,23,4]; function isArray(o){ return Object.prototype.toString.call(o)=='[object Array]'; } console.log(isArray(ary));Penggunaan Object.prototype.toString