【问题标题】:What is the limit on the length of a javascript property?javascript 属性的长度有什么限制?
【发布时间】:2011-01-08 01:59:56
【问题描述】:
var obj = {
    'foo' : 'bar',
    'something very, very, very, very long' : 'baz'
};

该属性名称的长度有任何限制吗?

【问题讨论】:

  • 我只是尝试用超过 100 万个字符创建一个。在铬中工作得很好。如果我达到限制,会通知你:)
  • @David 哈哈!这很酷。
  • @David,如果你把它放在答案中,我会给你打勾。

标签: javascript


【解决方案1】:

根据我最简短的实证研究,javascript 没有强制限制,至少 Chrome 没有强制限制。这只是一个问题,即您的机器允许脚本引擎在应用程序崩溃之前消耗多少内存。

在我的测试过程中,a 设法创建了一个对象,其中包含一个具有 268 435 456 个字符长名称的属性,但在 536 870 912 处再次尝试时,我的浏览器崩溃了。

我认为找到比这更准确的阈值是没有意义的,因为这应该证明存在的任何限制完全是由机器的能力强加的,而不是按规格。

哦,在 67 108 864 个字符处,我开始注意到分配属性时的性能问题 :)

【讨论】:

  • 规范不包括对标识符长度的限制,所以我相信它只是实现定义的。
猜你喜欢
  • 2010-12-02
  • 2015-12-02
  • 1970-01-01
  • 2023-03-02
  • 2010-09-25
  • 2014-04-25
  • 1970-01-01
  • 2013-07-03
相关资源
最近更新 更多