簡體   English   中英

為什么在JavaScript中有數組? 反對不足嗎?

[英]Why are there Arrays in JavaScript? Don't Objects suffice?

目前,我正在重新學習JavaScript。

我的老師今天告訴我,在JavaScript中,“一切都是對象”。 實際上,使用for - in循環,可以像遍歷數組元素一樣遍歷對象的屬性。

現在,我還有另一個幼稚的問題:如果JavaScript中的所有內容都是Object ,為什么人們使用Array “生”?

我的第一個猜測是Array上必須有一些在Object上不可用的方法(這似乎證明了MDN的快速而膚淺的印象),並且Array可以被索引(即myArray[i] )(並且具有length )。 。 但這是整個故事嗎? 還是使用內置的Array (對象)數據類型可以獲得一些性能提升?

數組一種對象類型。 (以及函數,對象等)。

它們具有內部計數器以及推入和彈出狀態。 而且它們有許多用途(將數據收集保存為一個)。

如果您真的想重新實現該功能 ,請繼續。

盡管嘗試自己重新實現js數組,但這是一個有趣的項目。

簡而言之, ArrayObject ,但Object 不是 Array 其他類型也是如此,例如DateRegExp等。

您可以剝離許多本機功能的語言,並且仍然具有完全相同的解決方案范圍邊界(可以解決一組完全相同的問題),但是您會一遍又一遍地實現非常基本的對象。 此外,不同的代碼庫將使用這些類型的不同實現,您將失去兼容性和互操作性。

在本機實現某些類型后,使用該語言將變得更輕松,更健壯,更明確更高效。

最重要的是,整個語言(尤其是JavaScript)努力遵循眾所周知的慣例-它使采用該語言變得更加容易,並使現有代碼的移植變得越來越簡單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM