JavaScript中字符串的最大长度是多少?

tem*_*ame 5 javascript memory string

我以为这将是一个简单的谷歌搜索,但没有任何结果。

假设我创建了一个循环,一次将一个字符连续追加到变量中。

程序什么时候崩溃?

我希望有人发表评论“为什么不尝试并找出答案?”会花费不到6秒的时间,但是尝试这样做不会告诉我问题的答案。它是特定于实现的吗?它在任何地方定义吗?它似乎不在ECMAScript规范中。

除了可用内存之外,是否还有其他已知限制?包含Mbs或Gbs文本的字符串的性能会降低吗?

作为记录,我确实尝试过运行该循环...。它只是使我的浏览器崩溃了:(也许如果我做了一些调整然后再试一次。

NVR*_*VRM 6

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