JavaScript - 对象大小

3

提前警告:一个可能有些愚蠢的问题,纯属出于好奇。

例如,如果我执行一个AJAX请求并返回一个包含1,000个对象的数组,就像这样:

{
    MinimumDistance: ...,
    MaximumDistance: ...,
    MinimumTime: ...,
    MaximumTime: ...,
    ReallyLongButDescriptivePropertyName: ...
} 

如果我缩短成员名称(例如MinDist),会比这样使用更多内存吗?

如果是这样,有什么方法可以减少这些对象的内存占用量而不是缩短成员名称吗?

谢谢。


请使用分页功能请求较少的对象。 - Matthias
你可以将一些键组合起来... 例如,你可以使用 DistanceRange: [min, max], TimeRange: [min, max] 来代替 Min/Max。 - mVChr
考虑到您可以通过名称访问成员,因此名称必须存储在内存中,因此减少它们将为您节省一些内存。 (压缩/ gzip 将减小传输大小) - Alex K.
2
常见的JavaScript实现是否使用字符串内部化? - georg
谢谢,thg435 - 我想这回答了我的问题! - Barg
1个回答

0

使用更长的属性可能会导致响应变长(即占用更多字节,因此需要更多带宽和时间才能到达客户端)。但通常响应是gzipped,因此与具有可理解的属性名称的实用性相比,开销很小。
无论如何,返回1,000个对象并不是一个好的做法,您应该对它们进行分页,并尽可能保持响应较小,特别是考虑到移动电话带宽减少。


谢谢,但我更关心的是一旦对象被解压缩并存储在内存中后的开销。 - Barg
@Barg,我认为这很琐碎,即使您的对象占用5兆字节的内存(这是很多文本),内存占用也会非常低。实际问题在于迭代大型集合的开销,在我看来。 - Nicola Peluchetti

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接