范围错误:参数不是有效的代码点
当 NaN
值、负整数 (-1)、非整数 (5.4) 或大于 0x10FFFF (1114111) 的值与 String.fromCodePoint()
一起使用时,将发生 JavaScript 异常“无效代码点”。
消息
RangeError: Invalid code point -1 (V8-based) RangeError: -1 is not a valid code point (Firefox) RangeError: Arguments contain a value that is out of range of code points (Safari)
错误类型
出了什么问题?
当 String.fromCodePoint()
传递 NaN
值、负整数 (-1)、非整数 (5.4) 或大于 0x10FFFF (1114111) 的值时,将抛出此错误。
代码点 是 Unicode 代码空间中的一个值;也就是说,从 0
到 0x10FFFF
的整数范围。
示例
无效情况
js
String.fromCodePoint("_"); // RangeError
String.fromCodePoint(Infinity); // RangeError
String.fromCodePoint(-1); // RangeError
String.fromCodePoint(3.14); // RangeError
String.fromCodePoint(3e-2); // RangeError
String.fromCodePoint(NaN); // RangeError
有效情况
js
String.fromCodePoint(42); // "*"
String.fromCodePoint(65, 90); // "AZ"
String.fromCodePoint(0x404); // 'Є' (U+0404)
String.fromCodePoint(0x2f804); // '你' (U+2F804)
String.fromCodePoint(194564); // '你'
String.fromCodePoint(0x1d306, 0x61, 0x1d307); // '𝌆a𝌇'