Rumah >hujung hadapan web >tutorial js >Bagaimana untuk menentukan objek seperti tatasusunan dalam javascript

Bagaimana untuk menentukan objek seperti tatasusunan dalam javascript

醉折花枝作酒筹
醉折花枝作酒筹asal
2021-07-22 11:09:074028semak imbas

Kaedah untuk mentakrifkan objek seperti tatasusunan dalam JavaScript ialah: 1. Mula-mula buat objek kosong 2. Tentukan secara langsung atribut subskrip berangka untuk objek 3. Perkara utama ialah menetapkan atribut panjang dan atribut sambung untuk objek menjadi angka dan fungsi.

Bagaimana untuk menentukan objek seperti tatasusunan dalam javascript

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3.

Terdapat banyak objek seperti tatasusunan dalam js Konsep mudahnya ialah ia kelihatan seperti tatasusunan, tetapi bukan tatasusunan boleh diakses menggunakan subskrip angka dan tiada kaedah tatasusunan.

Contoh: argumen, NodeList, HTMLCollection, jQuery, dll.

Sifat objek seperti tatasusunan

Memiliki atribut panjang

var a=document.getElementsByTagName("p");
a.__proto__;// HTMLCollection {} 属于类数组对象a.length;//62

2. Anda boleh menggunakan subskrip berangka untuk mengakses objek

a[0];//<p class="aspNetHidden">…</p>

3 Anda tidak boleh menggunakan kaedah prototaip tatasusunan (seperti slice, pop, dll.)

a.slice;//undefined Error!
a.pop;//undefined Error!

4. Gunakan instanceof operation Bukan milik Array

[] instanceof Array;//true
a instanceof Array;//false

5 Boleh ditukar kepada objek tatasusunan sebenar

var arr = Array.prototype.slice.call(a);
arr instanceof Array;//true

PS: Ambil perhatian bahawa sesetengah objek tidak boleh ditukar kepada objek objek tatasusunan sebenar menggunakan kaedah hirisan di bawah IE8.

Adalah disyorkan untuk menggunakan kaedah $.makeArray() yang disediakan oleh jquery untuk menukar objek seperti tatasusunan

6 Anda biasanya boleh mentakrifkan atribut tersuai yang lain

a.item;//function item() { [native code] }

Kelas Kelebihan objek tatasusunan

Saya percaya tidak perlu menerangkan terlalu banyak tentang kelebihan Ia membolehkan js dan bahasa belakang lain mempunyai kaedah operasi yang sama.

Sebagai contoh, beberapa koleksi senarai dalam C# boleh diakses menggunakan senarai subskrip angka[0] atau senarai nama rentetan['name'] untuk mengakses objek yang sama

dan juga mempunyai Pelbagai kaedah tersuai, sifat tersuai, dan kaedah akses elegan objek jquery boleh memberitahu anda bahawa objek yang begitu indah adalah objek yang sangat indah.

Cara mencipta objek seperti tatasusunan secara manual

Kembali kepada topik, cara mencipta objek seperti tatasusunan secara manual.

1 Buat objek kosong

var array_like = {};//创建一个空对象

2 Tentukan atribut subskrip berangka untuk objek ini sama sekali tidak dibenarkan dalam bahasa lain. tetapi ia boleh dilakukan dalam JS, walaupun dalam bahasa Cina

array_like[ 0 ] = "test 0";
array_like[ 1 ] = "test 1";
array_like[ 2 ] = "test 2";
array_like[ 3 ] = "test 3";

3 Perkara utama ialah menetapkan atribut panjang dan atribut sambung untuk objek kepada nombor dan fungsi

//关键点
array_like.length = 4;//为对象设置length属性
array_like.splice = [].splice;//同时设置splice属性为一个函数

PS. : Menetapkan atribut splice sebenarnya untuk menipu konsol penyemak imbas dan memaparkan rupa tatasusunan Anda boleh rujuk di sini

4.

//设定自定义属性
array_like.test0=array_like[0];
array_like.test1=array_like[1];
//直接输出
console.log( array_like );//[&#39;test 0&#39;,&#39;test 1&#39;...]
//类型
console.log( $.type( array_like ) );//"object"
//数字下标访问
console.log( array_like[ 0 ] );//"test 0"
//自定义属性访问
array_like.test0;//"test 0"
//不是数组对象
array_like instanceof Array;//false
//转换为真数组对象
var Arr=Array.prototype.slice.call(array_like);
Arr instanceof Array;//true

5 >

var array_like = {};

array_like[ 0 ] = "test 0";
array_like[ 1 ] = "test 1";
array_like[ 2 ] = "test 2";
array_like[ 3 ] = "test 3";

array_like.length = 4;
array_like.splice = [].splice;

console.log( array_like );
console.log( $.type( array_like ) );
console.log( array_like[ 2 ] );
[Pembelajaran yang disyorkan:

Tutorial JavaScript Lanjutan]

Atas ialah kandungan terperinci Bagaimana untuk menentukan objek seperti tatasusunan dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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