Rumah > Soal Jawab > teks badan
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
巴扎黑2017-06-30 10:01:14
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. . . . .
怪我咯2017-06-30 10:01:14
let a = ["Box"];
a.index = 10;
a.input = "This is a Box! That is a Box!";
过去多啦不再A梦2017-06-30 10:01:14
Walaupun nilai pulangan exec biasa ialah tatasusunan, ia mempunyai atribut lain, anda boleh membaca dokumentasi Sila baca lebih lanjut dalam Rhinoceros atau Height.
大家讲道理2017-06-30 10:01:14
var a = [];
a[0] = 'tets'
a[1] = 'fasfasf'
a.index = '对象属性'
Output a
Dapatkan, dalam JavaScript, tatasusunan juga merupakan objek
["tets", "fasfasf", indeks: "hahaha"]
怪我咯2017-06-30 10:01:14
Pemahaman saya ialah ahli tatasusunan dan ahli pada objek tatasusunan.
]
淡淡烟草味2017-06-30 10:01:14
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.
天蓬老师2017-06-30 10:01:14
var a = ['box'];
a.index = 'dsfsaf';
a.input = 'gfhdsgsadreqw';
console.log(a)
迷茫2017-06-30 10:01:14
Soalan pertama: Ia hanya tatasusunan biasa
Soalan kedua: Kesilapan tatabahasa
[] 定义数组