2012-01-09 185 views
1

我正在構建的頁面應顯示項目列表。比方說,這些是待售產品,例如。一個項目將有一個簡短的標題(50-200個字符),價格和一些其他簡要信息。每個類別通常可能有200個項目。然而,很少有1000個和最多5000個項目(很少)。推薦的JavaScript對象數組大小

我正在考慮將所有項目預加載到JavaScript對象數組中,以使分頁更加順暢並且產品過濾。根據用戶在篩選器或頁面編號上的選擇,DOM將很容易重新繪製結果以供顯示。這對於我確信的200件物品會很好。但5000呢?如果你循環了很多項目,它會減慢瀏覽器的速度嗎?

我應該預先加載一次並動態顯示項目(不要再次調用服務器),還是從每個用戶選擇的服務器加載數據的最佳方式?謝謝。

+0

要知道哪個更高性能,您必須測試。我只是建議只在需要時加載用戶需要的內容。 – zzzzBov 2012-01-09 15:22:02

回答

2

我不認爲你必須擔心。你唯一擔心的是通過線路獲取數據(到用戶的瀏覽器)。 5000 × 200 = 1000000字節,所以它會稍微超過1MB。

JavaScript性能可能不是問題。在我的測試中(在Chrome 16中的舊式筆記本電腦上),只需要1ms就可以創建5000個模擬對象並對它們進行迭代,連接描述併合並價格。看看:http://jsfiddle.net/PPvG/G3UDH/

帶寬方面,如果客戶端和服務器之間的連接是高帶寬和高延遲,則預先加載所有內容可能會更好。如果連接是低帶寬和低延遲的,則部分加載可能會帶來更好的用戶體驗。那麼哪種方法最好取決於情況。