2015-07-13 19 views
0

我有一個關於javascript的簡單問題。javascript中對象鍵的大小

對於JavaScript對象中的鍵的大小,重要的是(就性能而言)?

下面是兩個例子:

一個。短鍵

var obj = {}; 
obj['a'] = { x : 1, y : 0 }; 
obj['b'] = { x : 1, y : 0 }; 
obj['c'] = { x : 1, y : 0 }; 

b。長鍵

var obj = {}; 
obj['this_is_a_long_key'] = { x : 1, y : 0 }; 
obj['this_is_a_longer_key'] = { x : 1, y : 0 }; 
obj['this_is_the_longest_key'] = { x : 1, y : 0 }; 

所以,如果我在尋找/編輯很多時候這些對象的屬性(可以是很多),並在關鍵的大小都與檢索/編輯等行爲的表現做任何事?

感謝

+0

高度懷疑它... – epascarello

回答

2

大鍵不免費,因爲最終運行時必須執行散列和比較操作仰視屬性時。但是,除非你有很多長鍵,否則可能不值得擔心。

現代JavaScript環境通常被優化到足以讓您專注於按照自己的方式編寫代碼,因此(正如Joe Armstrong所說的關於Erlang)您的代碼儘可能美觀。如果你真的面臨性能障礙,那麼專注於算法效率,並擔心這樣的細節。

+0

我明白了。我遇到了性能障礙,我正在尋找我的代碼,試圖找到實現更好性能的方法。我的代碼中還有其他一些東西,我可以改進,我只是想如果鍵名是其中之一。 感謝您的回答:) – ThanosSar

+0

@ThanosKw我會非常驚訝地發現,長名稱是您性能問題的重要組成部分。 – Pointy

+0

好,我明白了。所以我會離開他們,因爲他們是長期和好的:) – ThanosSar