Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript对象的合理大小是多少_Javascript_Memory_Client - Fatal编程技术网

javascript对象的合理大小是多少

javascript对象的合理大小是多少,javascript,memory,client,Javascript,Memory,Client,我有一个客户端树模型,它将存储键(数字)和值(字符串-平均60个字符长度)值。树的最大节点数可能多达2500个。-这似乎是一个太大的对象,无法保存在内存中(大约290kb),因此我将根据需要加载节点并缓存其中的一些节点 我的问题是——javascript中可以保存在内存中的合理对象大小是多少?我意识到这在很大程度上取决于页面上的其他内容,但我仍然希望听到关于缓存对象(如我的树)大小的意见。我将根据您试图存储的数据的大小,假设您正在某种客户端处理中使用此数据。您可能以表格格式显示它,或者将其用作搜

我有一个客户端树模型,它将存储键(数字)和值(字符串-平均60个字符长度)值。树的最大节点数可能多达2500个。-这似乎是一个太大的对象,无法保存在内存中(大约290kb),因此我将根据需要加载节点并缓存其中的一些节点


我的问题是——javascript中可以保存在内存中的合理对象大小是多少?我意识到这在很大程度上取决于页面上的其他内容,但我仍然希望听到关于缓存对象(如我的树)大小的意见。我将根据您试图存储的数据的大小,假设您正在某种客户端处理中使用此数据。您可能以表格格式显示它,或者将其用作搜索或排序过程的一部分

设计数据驱动站点时;处理繁重的操作应保留在服务器端,通过服务器软件或数据库管理器可以更快地优化、缓存和处理这些操作

在这种情况下,最佳尺寸变化如此之大,以至于我怀疑是否存在任何单一的客观答案。我相信很多浏览器,特别是移动浏览器,都有内存限制,可以防止占用内存的JavaScript使整个设备变得不稳定。这个内存限制可能非常高,但应该只将其视为故障保护,而不是允许使用的内存上限


我强烈建议您重新评估JavaScript对象的用途,看看是否可以在服务器端完成同样的事情(可能是通过AJAX交付的,因为这是必需的)。这将减少客户端处理开销和带宽使用,并通常带来更稳定和响应更快的用户体验。

我的浏览器通常运行在大约500mb的内存上。在我正常加载的选项卡打开时使用。我真的不认为290k是个问题。你真的需要存储这些值吗?290KB的大小可能不是问题。问题是您将如何处理此对象。这取决于您的公共存储,但您可以将值存储在本地存储(IE8+)。@EliseuMonar-考虑了本地存储,但不幸的是,我们也需要支持IE7是的,您需要,但您可以使用渐进增强。如果浏览器支持某种本地存储方式,我们就使用它,否则我们就通过XHR(AJAX)获取对象。IE7用户习惯于缓慢浏览,他们占据了大约3%的市场份额,所以不要太担心……我试图缓存的对象将在页面上的多个位置使用。一个是文本字段的自动完成,另一个是多选类型的列表(数据是树数据结构,因此列表将具有多个可能的选择级别)。数据是相当静态的,用户可能会在页面上停留一段时间来使用我们的应用程序。这就是为什么我希望将这些数据保留在客户机上(或至少部分数据),而不是进行多次服务器访问。有没有一个很好的参考点来了解不同浏览器的内存限制?