一、强制类型转换(显式)
(1)parseInt():将其他类型转化为整数
1.字符串:只有首字符是数字得到具体值,其它字符串得到NaN
2.其它类型:NaN
console.log('========parseInt=======');
console.log( parseInt('100px') );//100
console.log( parseInt('100.56px') )//100
console.log( parseInt('zhangsan') )//NaN
console.log( parseInt('sb250') )//NaN
console.log( parseInt(undefined) )//NaN
console.log( parseInt(null) )//NaN
console.log( parseInt(true) )//NaN
(2)parseFloat():将其他类型转化为数值类型,有小数保留小数
-
字符串:只有首字符是数字得到具体值,其它字符串得到NaN
-
其它类型:NaN
-
小数后面保留有效位
console.log( '========parseFloat=======' ); console.log(parseFloat('100px'));//100 console.log(parseFloat('100.56px'))//100.56 console.log(parseFloat('100.00px'))//100.00 console.log(parseFloat('100.01px'))//100.01 console.log(parseFloat('100.10px'))//100.1 console.log(parseFloat('zhangsan'))//NaN console.log(parseFloat('sb250'))//NaN console.log(parseFloat(undefined))//NaN console.log(parseFloat(null))//NaN console.log(parseFloat(true))//NaN
(3)Number() 将其它类型转为数字
1.字符串:纯数字字符串得到具体值,其他得到NaN
2.boolean: true: 1 false: 0
3.undefined: NaN null: 0
console.log( '===========Number==========' );
console.log( Number('12px') );//NaN
console.log( Number('12') );//12
console.log( Number(true) );//1
console.log( Number(false) );//0
console.log( Number(undefined));//NaN
console.log( Number(null) );//0(4)Boolean() : 将其它类型转为Boolean类型
(4)Boolean() : 将其它类型转为Boolean类型
1.只有5个值得到fasle: ‘’ “” 0 null undefined NaN
2.其它得到true
console.log( '========Boolean=======' );
console.log( Boolean('') );//false
console.log( Boolean(0) );//false
console.log( Boolean(null) );//false
console.log( Boolean(undefined) );//false
console.log( Boolean(NaN) );//false
console.log( Boolean('0') );//true
console.log( Boolean(' ') );//true
console.log( Boolean('px') );//true
console.log( Boolean(23) );//true
(5)String() : 将其它类型转为String类型
console.log( '==========String============' );
console.log( String(12), typeof String(12) )
console.log( String(true), typeof String(true) )
二、自动类型转换(隐式)
/*
方法: 通过结果反推理解方式
*/
var value1 = "2";
var value2 = "1"
//减法的语意:
* 参照JavaScript高级程序设计
//加法:
* 参照JavaScript高级程序设计