数据类型转换
三种转换方式
*Number( ) => 所有数据类型转数字
*String( ) => 所有数据类型转字符串
*Boolean( ) => 所有数据类型转布尔值
类型转换
JS表达式运算,判断的时候,参与计算的数据类型合格,进行类型转换
六大数据类型
* Number
* String
* Boolean
* Undefined
* Null
* Object
一、所有数据类型转数字:Number()
布尔类型转数字
布尔类型转数字
* true => 1
* false => 0
console.log( Number(true) );//1
console.log( Number(false) );//0
字符串转数字
字符串转数字(一般参与到 * / - %等运算中,还有一些特殊的加法:加号左右两边没有字符串)
* a.看起来像数字,就能转数字
* b.不管怎么样转成的结果一定是数值类型
* c.转不了为NaN
* e.“Infinity” 和 “1e12”(科学计数法)都可以转数字
* f.不同进制 “0xaa"十六进制” "0b101010"二进制 "0123123"八进制都可以转数字
* g.表达式不能转数字,值为NaN
console.log( Number("123") );//123
console.log( Number("123.123") );//123.123
console.log( Number("123.123.123") );//NaN
console.log( Number("2.3e3") );//2300
console.log( Number("Infinity") );//Infinity
console.log( Number("-Infinity") );//-Infinity
console.log( Number("3+2") );//NaN
console.log( "1e2" * 3 );//100*3=300 => 会优先将字符串转成数字
console.log( "1e2" / "1e1" );//100/10=10
console.log( "1e2" - "3" );//100-3=97
console.log( "1e2" - "gd1g268" );//NaN => 运算中NaN参与的运算结果都为NaN
undefined和null转数字
*Undefined转数字 => NaN
*Null转数字 => 0
//Undefined转数字
console.log( Number(undefined) );//NaN
//Null转数字
console.log( Number(null) );//0
对象转数字
*一般对象转数字,为NaN
*特殊情况,特殊处理,在转字符串中处理
//对象转数字
console.log( Number({
}) );//NaN
//对象转数字的特殊情况
console.log( Number([]) );//0
console.log( Number([12]) );//12
二、所有数据类型转字符串:String()
数字转字符串,就是给数字加上引号
console.log( String(123) );//"123"
console.log( String(NaN) );//"NaN"
console.