Subskrip tatasusunan JavaScript bermula dari 0, sebab: 1. Bermula dari 0 boleh mengurangkan satu operasi tolak, mengurangkan operasi arahan CPU dan meningkatkan kecekapan CPU 2. Alamat memori fizikal bermula dari 0 .
Persekitaran pengendalian tutorial ini: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3.
Subskrip tatasusunan JavaScript bermula dari 0.
Jadi mengapa subskrip tatasusunan JavaScript bermula daripada 0 dan bukannya 1?
Sebab 1: Sebab sejarah
Susunan penampilan bahasa adalah dari awal hingga akhir C, Java dan JavaScript.
Subskrip tatasusunan bahasa C bermula dari 0 ->Java juga ->JavaScript juga.
Kurangkan kos pembelajaran dan pemahaman tambahan.
Sebab 2: Kurangkan operasi arahan CPU
(1) Subskrip bermula dari 0:
Alamat tatasusunan - arr[i] = base_address i * type_size (1)
di mana base_address ialah alamat pertama array arr, arr0 ialah array dengan offset 0, iaitu, alamat pertama array arr i ialah offset, type_size ialah bilangan bait daripada jenis tatasusunan, sebagai contoh, int ialah 32 bit, iaitu 4 bait.
(2) Subskrip bermula dari 1:
Pengalamatan tatasusunan - arr[i] = alamat_pangkalan (i -1) * saiz_jenis (2)
Bandingkan dua Daripada formula pengiraan, kita dapati bahawa formula (2) memerlukan satu lagi operasi i-1 untuk setiap pengalamatan CPU, iaitu, satu lagi operasi arahan penolakan.
Untuk struktur data asas seperti tatasusunan, tidak kira dalam bahasa pengaturcaraan peringkat tinggi mana, ia kerap digunakan secara tidak langsung (sebagai struktur data asas bekas, seperti Java's ArrayList) atau secara langsung, jadi ia sepatutnya diminimumkan. Ia menggunakan sumber CPU. Bermula dari 0, satu operasi penolakan boleh dikurangkan, yang meningkatkan kecekapan CPU.
Sebab 3: Alamat memori fizikal bermula dari 0
Memori utama komputer ialah tatasusunan berbilang unit bersaiz bait berturut-turut, setiap bait Semuanya sepadan dengan unik alamat fizikal, dan alamat bait pertama ialah 0.
[Pembelajaran yang disyorkan: Tutorial JavaScript Lanjutan]
Atas ialah kandungan terperinci Di manakah subskrip tatasusunan javascript bermula?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!