JavaScript 范围错误 – 基数必须是整数
这个JavaScript异常 基数必须是一个大于等于2且不大于36的整数 发生在Number.prototype.toString()
或BigInt.prototype.toString()
方法的基数参数被传入时,该参数不在2到36的范围内。
输出信息:
RangeError: invalid argument (Edge)
RangeError: radix must be an integer at least 2
and no greater than 36 (Firefox)
RangeError: toString() radix argument must be
between 2 and 36 (Chrome)
错误类型:
RangeError
错误的原因: 当指定了可选的基数参数的 Number.prototype.toString() 或 BigInt.prototype.toString() 方法,并且该参数的值不在2到36之间时,大于10的基数将使用字母字符作为数字,但字母字符的值不能大于36(因为字母只有26个)。
示例1: 在这个示例中,传递的参数是2,所以没有发生错误。
<body style="text-align: center;">
<h1 style="color: green;">
GeeksforGeeks
</h1>
<p>
JavaScript RangeError
Radix must be an integer
</p>
<button onclick="Geeks();">
click here
</button>
<p id="GFG_DOWN"></p>
<script>
var el_down = document.getElementById("GFG_DOWN");
function Geeks() {
try {
(42).toString(2);
el_down.innerHTML =
"'Radix must be an" +
" integer' error has not occurred";
} catch (e) {
el_down.innerHTML =
"'Radix must be an" +
" integer' error has occurred";
}
}
</script>
</body>
输出:
示例2: 在这个示例中,传递的参数是 0,所以发生了错误。
<body style="text-align: center;">
<h1 style="color: green;">
GeeksforGeeks
</h1>
<p>
JavaScript RangeError
Radix must be an integer
</p>
<button onclick="Geeks();">
click here
</button>
<p id="GFG_DOWN"></p>
<script>
var el_down = document.getElementById("GFG_DOWN");
function Geeks() {
try {
(42).toString(0);
el_down.innerHTML =
"'Radix must be an" +
" integer' error has not occurred";
} catch (e) {
el_down.innerHTML =
"'Radix must be an" +
" integer' error has occurred";
}
}
</script>
</body>
输出: