javascript數組下標從0開始,原因:1、從0開始,可以減少一次減法操作,減少CPU指令運算,可以提升CPU的效率;2、實體記憶體的位址是從0開始的。
本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
javascript陣列下標是從0開始的。
那麼為什麼javascript陣列下標是從0開始的,而不是從1開始呢?
原因一:歷史原因
語言出現順序從早到晚C、Java、JavaScript。
C語言陣列下標是從0開始->Java也是->JavaScript也是。
降低額外的學習和理解成本。
原因二:減少CPU指令運算
(1)下標從0開始:
陣列尋址-arr[i] = base_address i * type_size(1)
其中base_address為數組arr首位址,arr0就是偏移量為0的數組,即數組arr首地址;i為偏移量,type_size為數組類型位元組數,例如int為32位,即4個位元組。
(2)下標從1開始:
陣列尋址-arr[i] = base_address (i -1)* type_size(2)
比較兩個計算公式可以發現公式(2)每次CPU尋址需要多一次i-1的操作,也就是多了一次減法的指令運算。
對於陣列這種基礎資料結構,無論在哪種高階程式語言中,都是頻繁間接(作為容器的基礎資料結構,例如Java的ArrayList)或直接被使用的,因此要盡量減少其消耗CPU資源。從0開始,可以減少一次減法操作,提升了CPU的效率。
原因三:實體記憶體的位址是從0開始的
電腦主存是多個連續位元組大小的單元組成的數組,每個位元組都對應唯一的實體位址,第一個位元組的位址為0。
【推薦學習:javascript進階教學】
#以上是javascript數組下標從什麼開始的詳細內容。更多資訊請關注PHP中文網其他相關文章!