15
2019
02

js的parseInt方法

用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



« 上一篇下一篇 »

相关文章:

显示fps  (2020-1-19 9:16:17)

js保留有效数字  (2019-7-30 15:32:12)

闪电效果  (2017-11-28 15:4:19)

js中判断一个对象的类型  (2017-3-30 14:27:35)

解九连环  (2016-12-1 20:58:11)

DataURL与File,Blob,canvas对象之间的互相转换的Javascript  (2016-11-25 14:58:41)

js生成条形码-barcode  (2016-10-12 15:59:51)

GeoJSON格式  (2016-9-23 13:28:44)

使用Typescript开发基于createjs的项目  (2016-8-25 9:54:40)

github上一个js实现的编译器  (2016-8-17 14:32:19)

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。