用webstorm写代码,在parseInt的地方报错:Missing radix parameter。
原因如下:
https://my.oschina.net/zhangskills/blog/150203
使用JSLint检查javascript代码语法时,你可能会碰到一个比较头痛的报错:Missing radix parameter。这个错误信息主要是因为你没有深刻掌握parseInt 语法,意思是:缺少一个基数根,也就是指:parseint的第二个参数没有指定。
大家回顾parseInt的第二个参数的用法: parseInt的第二个参数有四种:2、8、10、16,分别对应二进制、八进制、十进制、十六进制, 默认是:十进制。 在转换时可以忽略第二个参数,这样js照样可以运行,但是在你进行语法校验时,JSLint却会报错,这是因为压缩工具对语法的严谨性要求比较高,建议大家在用parseInt语法进行转换时,最好加个第二个参数。
如:parseInt('10', 10);
parseInt: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/parseInt
parseFloat: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/parseFloat
有时采用一个更严格的方法来解析整型值很有用。此时可以使用正则表达式:
function filterInt (value) { if(/^(\-|\+)?([0-9]+|Infinity)$/.test(value)){ return Number(value); } return NaN; }
该函数通过正则表达式的方式,在需要更严格地转换float值时可能会有用:
function filterFloat(value) { if(/^(\-|\+)?|(\.\d+)(\d+(\.\d+)?|(\d+\.)|Infinity)$/.test(value)) { return Number(value); } return NaN; }
结合toString来用,可以实现各种进制之间的转换。
parseInt('10',1); //NaN
parseInt('10',2); //2
parseInt('10',3); //3
parseInt('10',4); //4
parseInt('10',5); //5
parseInt('10',6); //6
parseInt('10',7); //7
parseInt('10',8); //8
parseInt('10',9); //9
parseInt('10',10); //10
parseInt('10',11); //11
parseInt('10',12); //12
parseInt('10',13); //13
parseInt('10',14); //14
parseInt('10',15); //15
parseInt('10',16); //16
parseInt('10',17); //17
parseInt('10',18); //18
parseInt('10',19); //19
parseInt('10',20); //20
(2).toString(2); //10
(3).toString(3); //10
(4).toString(4); //10
(5).toString(5); //10
(6).toString(6); //10
(7).toString(7); //10
(8).toString(8); //10
(9).toString(9); //10
(10).toString(10); //10
(11).toString(11); //10
(12).toString(12); //10
(13).toString(13); //10
(14).toString(14); //10
(15).toString(15); //10
(16).toString(16); //10
(17).toString(17); //10
(18).toString(18); //10
(19).toString(19); //10
(20).toString(20); //10
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。