javaScript basis Number () to convert to other types number Type Summary

A: basic types

String

The string into a number, as long as a non-string contains any valid numeric character (except the first point) the result is NaN, the empty string becomes zero digit
console.log(Number("12.5")); //12.5
console.log(Number("12.5px")); //NAN
console.log(Number("12.5.5px"));//NAN
console.log(Number(""));//0

Boolean

the console.log (Number The ( to true )); // . 1 
the console.log (Number The ( to false )); // 0 
the console.log (isNaN ( to false )); // to false is a valid number

null和undefined

console.log(Number(null));//0
console.log(Number(undefined));/NaN

二:引用数据类型

把引用数据类型转换为数字是先把它基于toString()转换为字符串,再转换为数字

console.log(Number({num:"10"}));/aN
console.log(Number({}));/aN  ({num:"10"}).toString();是"[object Object]" 是非有效数字字符所以是NaN
console.log(Number([]));//0 [].toString()是""所以转为数字是0
console.log(Number([12]));//12 [12].toString()是"12"所以转为数字是12
console.log(Number([12,23]));/aN [12].toString()是"12,23"里面的","是非有效数字字符所以是NaN

相关面试题

let a=10+null+true+[]+undefined+'腾讯'+null+[]+10+false;
console.log(a)//11undefined腾讯null10false
null变为数字是0,true是1,[]变为数字,先要经历变为空字符串,遇到字符串,啥也别想了,直接变为字符串拼接.
当去掉undefined前面的[]就变成了NaN腾讯null10false

Guess you like

Origin www.cnblogs.com/zimengxiyu/p/11666298.html