javascript

位置:IT落伍者 >> javascript >> 浏览文章

js中parseInt函数浅谈


发布日期:2020年03月03日
 
js中parseInt函数浅谈
这篇文章介绍了Js中的parseInt函数有需要的朋友可以参考一下

从很热门的实例parseInt("")==说起
parseInt(numbertype)这个函数后面如果不跟第个参数来表示进制的话默认是进制
比如说parseInt("")就是进制的结果
parseInt("")就是进制的结果
parseInt("")就是进制的结果
parseInt("")就是进制的结果

下面我来说说没有指定进制单位的时候默认是进制如果是里面的Number是开头的就认为是进制的如果是x开头的就认为是进制的
parseInt("")==>parseInt("")===>parseInt("")==>parseInt("")==>parseInt("x")==>parseInt("")==>

到这里很顺利
许多事情不是想的那么顺利比如说如果Number不是我们给的正常数字又怎么解释呢查了些资料是这样说的
parseInt(Number) 如果中间的Number遇到不是数字()的就中断往下解析就只取不是数字之前的值去运算:比如parseInt("x")就相当于 parseInt("")===》parseInt("")==>又如parseInt("x")===& gt;parseInt("")===>parseInt("")===>
到这里我们似乎无视了一个就是进制中的有个x它也不是数字是不是遇到x也无视了呢尝试下了发现在这个特殊处理了下
比如parseInt("x")===>parseInt("")===>和最上面的结果相符但却和我刚说的不是字符就自动不解析就应该理解成parseInt("")相违背

这里就需要注意下parseInt里面的Number是这样的当如果第一个不是且不是字符就认为是进制一切照旧执行遇到字母就停下 来又当如果是第一个是后面那个就需要注意了如果是x就继续往下走这里的x不代表数值只能和前面的一起组成x代表进制的单位后面的才 按上面我们讲的遇到非数字停止解析的规则来比如parseInt("xt")==>parseInt("x")==> parseInt("")就是NaN了

总结下parseInt(Number)里面的值:如果是第一位不是就遇到字母就停止解析并把字母前面的值作为进制去解析如果第一个就是字母那么值就是空空成了NaN
比如:parseInt("a")==>parseInt("")==>NaNparseInt("a")==>parseInt("")==>parseInt("")==>;
如 果第一位是且第位不是x也和上面一样遇到字母就停止解析并把字母前面的值作为进制去解析比如:parseInt("a")==> parseInt("")==>parseInt("")==>PS:这个有点特殊因为a被解析成了还不具备看做是 进制的结构下面那个就明显了
parseInt("a")==>parseInt("")==> parseInt("")==>;如果第一位是且第位是x那后面也和上面一样遇到字母就停止解析并把字母前面的值作为进制去 解析比如:parseInt("xt")==>parseInt("")==>NaNparseInt("xt")==& gt;parseInt("")==>

上一篇:Javascript实现动态菜单添加的实例代码

下一篇:JS特效代码--日历生成器