RangeError: repeat count must be less than infinity
ä¿¡æ¯
RangeError: repeat count must be less than infinity and not overflow maximum string size (Firefox) RangeError: Invalid count value (Chrome)
é误类å
RangeError
åçäºä»ä¹ï¼
代ç ä¸ä½¿ç¨äº String.prototype.repeat()æ¹æ³ã宿ä¸ä¸ªè®¡æ°åæ°ï¼è¡¨ç¤ºéå¤è¯¥åç¬¦ä¸²çæ¬¡æ°ãè¯¥åæ°å¿
é¡»å¨ 0 忣 Infinity ä¹é´ï¼ä¸ä¸è½ä¸ºè´æ°ã该å¼çåæ³èå´å¯ä»¥è¿æ ·è¡¨ç¤ºï¼ [0, +â)ã
å
¶ç»æå符串ä¹ä¸è½é¿äºæå¤§å符串ï¼ä¸å JavaScript 弿ä¸å¯è½ææä¸åãå¨ Firefox (SpiderMonkey) éæå¤§å符串大å°ä¸º 2^28 -1 (0xFFFFFFF)ã
示ä¾
>æ æç
js
"abc".repeat(Infinity); // RangeError
"a".repeat(2 ** 28); // RangeError
ææç
js
"abc".repeat(0); // ''
"abc".repeat(1); // 'abc'
"abc".repeat(2); // 'abcabc'
"abc".repeat(3.5); // 'abcabcabc' (count will be converted to integer)