2012-01-09 101 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/

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