我认为这将是一个简单的Google搜索,但没有任何结果。
假设我创建了一个循环,一次将一个字符连续追加到变量中。
程序什么时候崩溃?
我希望有人发表评论“为什么不尝试并找出答案?”会花费6秒钟,但是尝试不会告诉我问题的答案。它是特定于实现的吗?它在任何地方定义吗?它似乎不在ECMAScript规范中。
除了可用内存之外,是否还有其他已知限制?包含Mb或Gbs文本的字符串的性能会降低吗?
为记录起见,我没有尝试运行该循环...。它只是使我的浏览器崩溃了:(也许如果我做了一些调整然后再试一次。
答案 0 :(得分:3)
ECMAScript 2016(第7版)确定了最大长度为
2^53 - 1
元素。以前,没有指定最大长度。在Firefox中, 字符串的最大长度为2**30 - 2
(〜1GB )。 在先前版本中 Firefox 65,最大长度为2**28- 1
(〜256MB)。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length