信息
RangeError: repeat count must be less than infinity and not overflow maximum string size (Firefox) RangeError: Invalid count value (Chrome)
错误类型
发生了什么?
代码中使用了 String.prototype.repeat()
方法。它有一个计数参数,表示重复该字符串的次数。该参数必须在 0 及正 Infinity
之间,且不能为负数。该值的合法范围可以这样表示: [0, +∞)。
其结果字符串也不能长于最大字符串,不同 JavaScript 引擎中可能有所不同。 在 Firefox (SpiderMonkey) 里最大字符串大小为 228 -1 (0xFFFFFFF
)。
示例
无效的
'abc'.repeat(Infinity); // RangeError 'a'.repeat(2**28); // RangeError
有效的
'abc'.repeat(0); // '' 'abc'.repeat(1); // 'abc' 'abc'.repeat(2); // 'abcabc' 'abc'.repeat(3.5); // 'abcabcabc' (count will be converted to integer)