javascript - tatasusunan apakah ini?
PHP中文网
PHP中文网 2017-06-30 09:59:14
0
8
768

Semasa saya mempelajari ungkapan biasa, saya mendapati bahawa kaedah exec mengembalikan tatasusunan sedemikian. Apakah jenis tatasusunan ini?

Saya memasukkan tatasusunan ini dalam konsol penyemak imbas dan mendapati ralat

PHP中文网
PHP中文网

认证高级PHP讲师

membalas semua(8)
巴扎黑

Jenis saya melihatnya dan ia mengatakan ia adalah objek, tetapi jenis menyemak data dan akan memberitahu anda ia adalah objek.

Saya menggunakan Array.isArray untuk menyemak semula dan ia kembali benar.

Jadi saya lihat penjelasan fungsi ini di MDN:

https://developer.mozilla.org...

Ia mengatakan nilai pulangan ialah tatasusunan.

Saya telah melihat ECMA 5.1 dan tidak menemui sebarang perihalan tatasusunan di atas

http://ecma-international.org...

Jadi saya juga di sini menunggu tuan menjawab =. =

----------------- Garis pemisah untuk penerangan paksa -------------------

Sebuah contoh tatasusunan juga merupakan objek, jadi anda sememangnya boleh menambah sifat dan memberikan nilai kepadanya.

Tetapi sila ambil perhatian bahawa untuk pembolehubah yang bukan jenis komposit, tiada cara untuk menambah atribut dan menetapkan nilai kepada kejadiannya. Kerana ia tidak berguna walaupun anda melakukannya.

Saya tersalah ingat, jadi saya fikir tiada cara untuk menambah tugasan atribut pada kejadian berangka. . . . .

刘奇
let a = ["Box"];
a.index = 10;
a.input = "This is a Box! That is a Box!";
过去多啦不再A梦

Walaupun nilai pulangan exec biasa ialah tatasusunan, ia mempunyai atribut lain, anda boleh membaca dokumentasi Sila baca lebih lanjut dalam Rhinoceros atau Height.

大家讲道理
var a = [];
a[0] = 'tets'
a[1] = 'fasfasf'
a.index = '对象属性'

Output a Dapatkan, dalam JavaScript, tatasusunan juga merupakan objek

["tets", "fasfasf", indeks: "hahaha"]

刘奇

Pemahaman saya ialah ahli tatasusunan dan ahli pada objek tatasusunan.
]

淡淡烟草味
var a={0:"Box"};
a.index=10;
a.input="This is a Box! That is a Box!";
var b=["Box"];
b.index=10;
b.input="This is a Box! That is a Box!"
console.log(a,b);

Malah, perkara yang paling mengelirukan di sini ialah, kenapa ["Box"] .index=10 berjaya ditetapkan?
Lihat hasil cetakan dahulu:

Untuk menggambarkannya dengan lebih jelas, kami mengembangkannya dan memerhati rantai prototaipnya.
Prototaip rantaian objek a:

Prototaip rantai tatasusunan b:

Seperti yang dapat dilihat dari rajah di atas, tatasusunan mewarisi kaedah jenis Objek daripada rantai prototaip.
Apabila ["box"] tidak dapat mencari kaedah yang sepadan dalam Array(0), ia akan turun ke rantai prototaip untuk mencari kaedah dalam Object.
Jadi secara teorinya, jenis tatasusunan juga boleh dianggap sebagai jenis jenis objek.

Peter_Zhu
var a = ['box'];
a.index = 'dsfsaf';
a.input = 'gfhdsgsadreqw';
console.log(a)
迷茫

Soalan pertama: Ia hanya tatasusunan biasa

Soalan kedua: Kesilapan tatabahasa

[] 定义数组

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!