Rumah hujung hadapan web tutorial js Pengenalan kepada Asas Tatasusunan Javascript_Pengetahuan Asas

Pengenalan kepada Asas Tatasusunan Javascript_Pengetahuan Asas

May 16, 2016 pm 03:10 PM

Javascript ialah bahasa ajaib, dan tatasusunannya adalah sama unik. Kami menyingkirkan najis, mengeluarkan intipati, dan meringkaskan amalan terbaik yang biasa digunakan. Jika terdapat sebarang kesilapan, sila nyatakan.

Tatasusunan Javascript ialah objek seperti tatasusunan yang mempunyai ciri-ciri objek. Apabila nama harta adalah kecil, integer bersebelahan, tatasusunan harus digunakan jika tidak, objek harus digunakan.

Sumber tatasusunan

Semua tatasusunan dibina daripada Tatasusunan Mari uji sifat pembina.

var arr = [];
arr.constructor === Array; // true
arr.constructor === Array.prototype.constructor; // true
Salin selepas log masuk

Buat tatasusunan

//数组字面量方式
var arr1 = [1, 2, 3]; // [1,2,3]

//构造函数方式
var arr2 = new Array();    // [] 空数组
var arr3 = new Array('9');   // ["9"] 一个字符串元素
var arr4 = new Array(9);    // [] 数组长度length为9
var arr5 = new Array([9]);   // [[9]] 相当于二维数组
var arr6 = new Array(1, 2, 3); // [1, 2, 3]
var arr7 = new Array(1, function f(){}, {o : 6}, null,undefined,true);
// 数组可以存储任意混合数据类型

Salin selepas log masuk

Disebabkan cara arr4 berfungsi, apabila hanya satu parameter berangka dihantar kepada pembina Tatasusunan, pembina akan mengembalikan tatasusunan kosong dengan set atribut panjang. Oleh itu, adalah disyorkan untuk menggunakan kaedah literal tatasusunan, yang pendek dan padat.

Kesan sama ada objek ialah tatasusunan

var arr1 = [1, 2, 3];
typeof(arr1); // object
Salin selepas log masuk

Adalah diketahui umum bahawa jenis tidak mengesan jenis dengan betul.

arr1 instanceof Array; //true
Salin selepas log masuk

Kaedah instanceof tidak mempunyai masalah dalam halaman web Setelah halaman web lain bersarang, akan ada dua skop global, dan akan ada masalah dalam pengesanan apabila memanggil satu sama lain.

Array.isArray(arr1); // true
Salin selepas log masuk

Array.isArray() ialah kaedah baharu dalam ECMAScript5 dan tidak mempunyai kecacatan. Satu-satunya masalah ialah pelayar IE8 tidak menyokongnya, dan pelayar IE9 tidak menyokongnya dalam mod ketat.

Object.prototype.toString.apply(arr1).slice(8, -1); // Array
Salin selepas log masuk

Cara terakhir ialah cara terbaik untuk mengesan jenis.

Panjang tatasusunan

Panjang tatasusunan juga merupakan atributnya.Meningkatkan panjang tidak akan menyebabkan ralat di luar sempadan.
Nilai panjang adalah sama dengan nama atribut integer terbesar tatasusunan ditambah 1.

var arr1 = [];
arr1[9] = 1; // 长度为10,只包含一个元素的数组
Salin selepas log masuk

Tetapkan nilai kecil untuk memadamkan atribut yang namanya lebih besar daripada atau sama dengan panjang.
Jika nilai panjang ditetapkan kepada 0, ia adalah bersamaan dengan mengosongkan tatasusunan.

var arr2 = [1, 2, 3, 4, 5];
arr2.length = 3; // [1, 2, 3]
arr2.length = 0; // []
Salin selepas log masuk

Traversal tatasusunan

Untuk melintasi tatasusunan, jangan gunakan gelung for in untuk melintasi tatasusunan, kerana for in akan merentasi semua sifat pada rantai prototaip, tetapi kami tidak memerlukan begitu banyak. Ia disyorkan untuk digunakan untuk gelung.

var arr1 = [1, 2, 3];
arr1.test = 9;

//for in 方式
for(var prop in arr1){
  cosole.log(prop, arr1[prop]);
}
// 输出如下
// 0 1
// 1 2
// 2 3
// test 9

//for循环方式
for(var i = 0, len = arr1.length; i < len; i++){
  console.log(arr1[i]);
}
//输出如下
// 1
// 2
// 3

Salin selepas log masuk

Kami melihat bahawa kaedah for in mempunyai nilai ujian tambahan, yang boleh dihapuskan menggunakan fungsi hasOwnProperty, tetapi itu akan menjadi lebih perlahan daripada kaedah gelung for.
Caching panjang tatasusunan ialah langkah yang perlu, dan terdapat overhed prestasi untuk setiap akses (penyemak imbas terkini telah mengoptimumkan aspek ini).

Ringkasan

Pengenalan ringkas kepada pengetahuan asas Array Pada ketika ini, anda boleh mempunyai pemahaman yang lebih komprehensif tentang Array. Artikel seterusnya memperkenalkan kaedah Array.

Walaupun terdapat banyak aspek Javascript yang tidak mudah difahami, dalam tempoh pengajian yang panjang, saya perlahan-lahan jatuh cinta dengannya (kerana tiada gadis untuk saya cintai sekarang).

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri? Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri? Mar 18, 2025 pm 03:12 PM

Artikel membincangkan membuat, menerbitkan, dan mengekalkan perpustakaan JavaScript, memberi tumpuan kepada perancangan, pembangunan, ujian, dokumentasi, dan strategi promosi.

Bagaimanakah saya mengoptimumkan kod JavaScript untuk prestasi dalam penyemak imbas? Bagaimanakah saya mengoptimumkan kod JavaScript untuk prestasi dalam penyemak imbas? Mar 18, 2025 pm 03:14 PM

Artikel ini membincangkan strategi untuk mengoptimumkan prestasi JavaScript dalam pelayar, memberi tumpuan kepada mengurangkan masa pelaksanaan dan meminimumkan kesan pada kelajuan beban halaman.

Apa yang perlu saya lakukan jika saya menghadapi percetakan kod yang dihiasi untuk resit kertas terma depan? Apa yang perlu saya lakukan jika saya menghadapi percetakan kod yang dihiasi untuk resit kertas terma depan? Apr 04, 2025 pm 02:42 PM

Soalan dan penyelesaian yang sering ditanya untuk percetakan tiket kertas terma depan dalam pembangunan front-end, percetakan tiket adalah keperluan umum. Walau bagaimanapun, banyak pemaju sedang melaksanakan ...

Bagaimanakah saya boleh debug kod javascript dengan berkesan menggunakan alat pemaju pelayar? Bagaimanakah saya boleh debug kod javascript dengan berkesan menggunakan alat pemaju pelayar? Mar 18, 2025 pm 03:16 PM

Artikel ini membincangkan debugging JavaScript yang berkesan menggunakan alat pemaju pelayar, memberi tumpuan kepada menetapkan titik putus, menggunakan konsol, dan menganalisis prestasi.

Bagaimanakah saya menggunakan peta sumber untuk debug kod JavaScript minified? Bagaimanakah saya menggunakan peta sumber untuk debug kod JavaScript minified? Mar 18, 2025 pm 03:17 PM

Artikel ini menerangkan cara menggunakan peta sumber untuk debug JavaScript minifikasi dengan memetakannya kembali ke kod asal. Ia membincangkan membolehkan peta sumber, menetapkan titik putus, dan menggunakan alat seperti Chrome Devtools dan Webpack.

Siapa yang dibayar lebih banyak Python atau JavaScript? Siapa yang dibayar lebih banyak Python atau JavaScript? Apr 04, 2025 am 12:09 AM

Tidak ada gaji mutlak untuk pemaju Python dan JavaScript, bergantung kepada kemahiran dan keperluan industri. 1. Python boleh dibayar lebih banyak dalam sains data dan pembelajaran mesin. 2. JavaScript mempunyai permintaan yang besar dalam perkembangan depan dan stack penuh, dan gajinya juga cukup besar. 3. Faktor mempengaruhi termasuk pengalaman, lokasi geografi, saiz syarikat dan kemahiran khusus.

Bermula dengan Chart.js: Pie, Donut, dan Carta Bubble Bermula dengan Chart.js: Pie, Donut, dan Carta Bubble Mar 15, 2025 am 09:19 AM

Tutorial ini akan menerangkan cara membuat carta pai, cincin, dan gelembung menggunakan carta.js. Sebelum ini, kami telah mempelajari empat jenis carta carta.js: carta baris dan carta bar (tutorial 2), serta carta radar dan carta rantau polar (Tutorial 3). Buat carta pai dan cincin Carta pai dan carta cincin sangat sesuai untuk menunjukkan perkadaran keseluruhan yang dibahagikan kepada bahagian yang berlainan. Sebagai contoh, carta pai boleh digunakan untuk menunjukkan peratusan singa lelaki, singa wanita dan singa muda dalam safari, atau peratusan undi yang diterima oleh calon yang berbeza dalam pilihan raya. Carta pai hanya sesuai untuk membandingkan parameter tunggal atau dataset. Harus diingat bahawa carta pai tidak dapat menarik entiti dengan nilai sifar kerana sudut kipas dalam carta pai bergantung pada saiz berangka titik data. Ini bermaksud mana -mana entiti dengan perkadaran sifar

Perbezaan dalam Konsol.Log Output Result: Mengapa kedua -dua panggilan berbeza? Perbezaan dalam Konsol.Log Output Result: Mengapa kedua -dua panggilan berbeza? Apr 04, 2025 pm 05:12 PM

Perbincangan mendalam mengenai punca-punca utama perbezaan dalam output konsol.log. Artikel ini akan menganalisis perbezaan hasil output fungsi Console.log dalam sekeping kod dan menerangkan sebab -sebab di belakangnya. � ...

See all articles