Rumah >hujung hadapan web >tutorial js >Adakah Tatasusunan JavaScript Benar-Benar Padat, atau Adakah Ia Menunjukkan Gelagat Jarang?
Sifat Jarang Tatasusunan Javascript
Dalam Javascript, tatasusunan secara semula jadi jarang, bermakna ia tidak memperuntukkan memori secara automatik untuk semua elemen antara 0 dan indeks semasa. Sebaliknya, elemen hanya diperuntukkan apabila ia diakses atau diberikan.
Sebagai contoh, pertimbangkan kod berikut, di mana kami menetapkan elemen pada masa semasa sebagai indeks:
array[Date.getTime()] = value;
Bertentangan kepada apa yang anda jangkakan, ini tidak menyebabkan jurubahasa memperuntukkan semua elemen dari 0 hingga saat semasa. Sebaliknya, ia hanya memperuntukkan elemen khusus yang diakses.
Pelaksanaan Jadual Cincang
Tatasusunan Javascript dilaksanakan secara dalaman sebagai jadual cincang. Ini bermakna kunci (indeks) bukan sahaja boleh menjadi integer tetapi juga rentetan, apungan atau objek. Setelah dimasukkan ke dalam jadual cincang, semua kunci ditukar kepada rentetan menggunakan kaedah toString().
Kod Pengesahan
Anda boleh mengesahkan sifat jarang ini dengan ujian berikut kod:
var array = []; array[0] = "zero"; array[new Date().getTime()] = "now"; array[3.14] = "pi"; for (var i in array) { console.log("array[" + i + "] = " + array[i] + ", typeof(" + i + ") == " + typeof(i)); }
Kod ini berulang ke atas indeks dan output yang ditakrifkan sebenar:
array[0] = zero, typeof(0) == string array[1254503972355] = now, typeof(1254503972355) == string array[3.14] = pi, typeof(3.14) == string
yang menunjukkan bahawa indeks bukan integer juga berfungsi tanpa memperuntukkan elemen perantaraan. Walau bagaimanapun, ambil perhatian bahawa menggunakan gelung for tradisional dengan i antara 0 hingga array.length boleh membawa kepada isu dengan indeks tatasusunan bukan standard.
Atas ialah kandungan terperinci Adakah Tatasusunan JavaScript Benar-Benar Padat, atau Adakah Ia Menunjukkan Gelagat Jarang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!