Number(object)是js中的一个函数,其参数object可以是任何类型,这个函数表示的是将object转为数值类型,下面是object的几种类型
1.数值类型
(1)整数:
没有前导0,参数是什么返回什么
若有前导0的话,判断数值是几进制的,再进行转换
// 八进制数
console.log(Number(00112)); // 74
// 十六进制数
console.log(Number(0x112)); // 274
(2)浮点数:
整数部分从左往右数,第一位为0,第二位一定不能为0,否则报错
没有前导0,参数是什么返回什么
console.log(Number(0.0123)); // 0.0123
2.布尔类型
false—> Number(false) // 0
true—>Number(true) // 1
3.undefined类型
Number(undefined) // NaN
4.null类型
Number(null) // 0
5.string类型
字符串中只含数字和“±”符号
// 有前导0,省略0,其他不变
console.log(Number('00112')); // 112
console.log(Number('001.12')); // 1.12
console.log(Number('-02.1')); // -2.1
// 正常输出数值类型
console.log(Number('2.32')); // 2.32
// 含有科学计数法的
console.log(Number('1.2e4')); // 12000
// 空字符串
console.log(Number('')); // 0
// 十六进制,以0x或0X开头,而八进制是以数字0开头,而Number有会忽略前导0,所以不会对八进制数进行转换
console.log(Number('0x12')); // 18
若除了数字和“±”符号外还有其他的字符则返回NaN
console.log(Number('3.3x')); // NaN
6.object类型
若参数为对象,则返回NaN,若是对象中的某个属性则具体类型对应到上面的这些类型中