2011-01-07 99 views
21
var obj = { 
    'foo' : 'bar', 
    'something very, very, very, very long' : 'baz' 
}; 

对属性名称可以有多长的限制?JavaScript属性的长度限制是多少?

+6

我只是想在超过100万个字符与一个创建时注意到性能问题。镀铬工作得很好。如果我达到了限制,你会保持张贴:) – 2011-01-07 17:50:51

+0

@大卫哈哈!这很酷。 – Stephen 2011-01-07 17:52:43

回答

20

从我最简单的实证研究来看,没有任何限制由JavaScript强制执行,至少不是由Chrome实施的。这只是一个问题,即在应用程序崩溃之前,您的计算机允许脚本引擎使用多少内存。

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

我不认为找到我的门槛在哪里比这更高的准确性是没有任何意义的,因为这应该证明那里的任何限制完全是由机器的容量所强加的,而是比规格。

哦,在67 108 864个字符,我开始指定属性:)