var obj = {
'foo' : 'bar',
'something very, very, very, very long' : 'baz'
};
该属性名称的长度有限制吗?
答案 0 :(得分:25)
根据我最简短的实证研究,javascript没有限制,至少不是Chrome实施的。这只是一个问题,即在应用程序崩溃之前,您的机器允许脚本引擎消耗多少内存。
在我的测试期间,我设法创建一个包含一个名为268 435 456 chars long name的属性的对象,但是再次尝试536 870 912,我的浏览器崩溃了。
我不相信找到我的阈值的准确度比那更高,因为这应该证明那里的任何限制完全是由机器的容量强加的,而不是按规格。
哦,在67 108 864个字符中,我在分配属性时开始注意到性能问题:)