Number.parseInt(string[, radix]);
Closed this issue · 3 comments
nianxiaoge commented
question 21-30下,数字转换里面的数字解析下,Number.parseInt(string[, radix]);是不是写错了?
simongong commented
,
位置错了。
赞,好仔细。
StevenYuysy commented
其实虽然 radix 是可选的,但是 MDN 上面说,如果不指定的话,会导致一些问题,一下摘选自 MDN:
如果字符串 string 以"0x"或者"0X"开头, 则基数是16 (16进制).
如果字符串 string 以"0"开头, 基数是8(八进制)或者10(十进制),那么具体是哪个基数由实现环境决定。ECMAScript 5 规定使用10,但是并不是所有的浏览器都遵循这个规定。因此,永远都要明确给出radix参数的值。
如果字符串 string 以其它任何值开头,则基数是10 (十进制)。
所以我在这种情况下,用 Number.parseInt(string, radix);
是否会更好?
simongong commented
在实际开发中,是的。
eslint里面也有这个配置,我们也是强制要求使用radix的。