• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

JavaScript parseInt()与Number()区别案例详解

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

学习目标:

parseInt()、Number()这两个函数用到最多的地方就是把一个字符串转换成数据类型,那么他们都有哪些区别?

学习内容:

parseInt()函数将给定的字符串以指定的基数解析为整数。
parseInt(string,radix)
第二个参数表示使用的进制,我们一般使用10进制,也可能会有到8或者16进制。为了避免对“0”和“0x”开头的字符串解析错误,各种javascript编程规范都规定必须要明确给出第二个参数的值,如parseInt(“123”,10).

parseInt('16', 8)  = 14
parseInt('10', 8)  = 8

parseInt('16', 10)  = 16
parseInt('10', 10)  = 10

parseInt('16', 16)  = 22
parseInt('10', 16)  = 16

parseInt从头解析string为整数,在遇到不能解析的字符时就返回已经解析的整数部分,如果第一个字符就不能解析,就直接返回NaN。

Number()在不用new操作符时,可以用来执行类型转换。如果无法转换为数字,就返回NaN。 像“123a”,parseInt()返回是123,Number()返回是NaN,不同类型的字符串使用这两个函数的转换区别:

// 当字符串是由数字组成的时候 他们转换的数字一样的没有差别  
let numStr = '123'
console.log(parseInt(numStr))   //123
console.log(Number(numStr))		//123

// 当字符串是由字母组成的时候 
let numStr = 'abc'
console.log(parseInt(numStr))   //NaN
console.log(Number(numStr))		//NaN

// 当字符串是由数字和字母组成的时候 
let numStr = '123a'
console.log(parseInt(numStr))   //123
console.log(Number(numStr))		//NaN

// 当字符串是由0和数字
let numStr = '0123'
console.log(parseInt(numStr))   //123
console.log(Number(numStr))		//123

// **当字符串包含小数点**
let numStr = '123.456'
console.log(parseInt(numStr))		//123
console.log(Number(numStr))			//123.456

// **当字符串为null时**
let numStr = null
console.log(parseInt(numStr))		//NaN
console.log(Number(numStr))			//0

// **当字符串为''(空)时**
let numStr = ''
console.log(parseInt(numStr))		//NaN
console.log(Number(numStr))			//0

学习总结:

1、当字符串是由数字组成的时候 他们转换的数字一样的没有差别;如果字符串不含数字全是字母,这两个方法也都只是返回NaN结果;当字符串是由0和数字组成时,都是解析除0外的全部数字;

2 当字符串是由数字和字母组成的时候 ①字母在开头,这两个方法也都只是返回NaN结果②字母不在开头Number方法返回NaN,pareseInt方法返回字母之前的数据

3 parseInt对于非String类型的值要先转换为String类型再操作 4 剩下的细节参考上述案例

到此这篇关于JavaScript parseInt()与Number()区别案例详解的文章就介绍到这了,更多相关js parseInt()与Number()区别内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界!


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
一文教你如何像导入JS模块一样导入CSS发布时间:2022-02-05
下一篇:
Vue前端导出Excel文件的详细实现方案发布时间:2022-02-05
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap