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.
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 );//['test 0','test 1'...] //类型 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 ] );
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!