1.Number()转化较严格
var a="1.23b";
console.log(Number(a)); //NaN
console.log(parseInt(a)); //1
console.log(parseFloat(a)); //1.23
2.boolean值转化结果不同
var a=true; console.log(number(a)); //1 console.log(parseInt(a)); //NaN console.log(parseFloat(a)); //NaN
3.空字符串转化结果不同
var a=""; console.log(number(a)); //0 console.log(parseInt(a)); //NaN console.log(parseFloat(a)); //NaN
4.只要字符以0x开头,parseInt就会以十六进制转化
console.log(parseInt("0x")); //NaN,0x后没有数字 console.log(parseInt("0xg")); //NaN,0x后不是数字 console.log(parseInt("0f")); //0
5.parseFloat()只解析十进制值,因此会忽略八进制前导的0,十六进制则会被转换成0
var a="074",b="0x5D" console.log(parseInt(a,8)); //60,ECMAScript 5 JavaScript中前导的0被认为无效,需指定基数(即多少进制) console.log(parseFloat(a)); //74 console.log(parseInt(b)); //93 console.log(parseFloat(b)); //0
原文地址:https://www.cnblogs.com/yuruyuri/p/10120585.html
时间: 2024-10-16 20:40:06