>》>》>》>》

parseInt()、Number()区别

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

Number如果无法转换为数字,就返回NaN。像“123a”,parseInt()返回是123,Number()返回是NaN。

可以理解为Number转换的时候更严格

// 当字符串是由数字组成的时候 他们转换的数字一样的没有差别  
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

 

posted @ 2019-09-30 16:30  大、锤  阅读(521)  评论(0编辑  收藏  举报