推荐的JavaScript数组对象大小

时间:2012-01-09 15:16:09

标签: javascript dom multidimensional-array

我正在构建的页面应显示项目列表。例如,假设这些是待售产品。一个项目将有一个简短的标题(50-200个字符),价格和一些其他简要信息。每个类别通常可能有200个项目。但是,很少有1000件和最多5000件(很少)。

我正在考虑将所有项目预加载到JavaScript对象数组中,以使分页顺畅和产品过滤。根据用户对过滤器或页码的选择,DOM可以轻松地重绘结果以供显示。这对于我确定的200件物品都可以正常工作。但5000呢?如果您循环浏览这么多项目,它会减慢浏览器的速度吗?

我应该预先加载所有内容并动态显示项目(永远不要再次调用服务器),还是仍然是每个用户选择从服务器加载数据的最佳方法?感谢。

1 个答案:

答案 0 :(得分:2)

我认为你不必担心。您唯一的担心是通过线路(到用户的浏览器)获取数据。 <{1}}个字节,所以它会超过1MB。

JavaScript性能可能不是问题。在我的测试中(在Chrome 16中的一台中等旧笔记本电脑上),仅用 5000 × 200 = 1000000 创建5000个模拟对象并对其进行迭代,连接描述并累加价格。看看:http://jsfiddle.net/PPvG/G3UDH/

带宽方面,如果客户端和服务器之间的连接是高带宽和高延迟,则预先加载所有内容可能会更好。如果连接是低带宽和低延迟,则加载部分可能会带来更好的用户体验。那么哪种方法最好取决于具体情况。