一、显示类型转换
1、Number(object);
Number("123");//123
Number('123a')//NaN
Number("123.123");//123.123
Number(null);//0
Number(undefined);//NaN
参数必须要能转化成数字,否则返回NaN
2、parseInt(string,radix);
parerInt('123.123',16);
第二个参数是指定目标的数字类型,这里是说"123.123"是16进制,要把这个16进制的数转换成10进制
3、parseFloat(string);
parseFloat('123.123')//123.123
parseFloat('123e-2');//1.23
它只有一个参数,parseInt和parseFloat一样,在遇到第一个异常字符时就会放弃,不论剩余部分是否能接着转换成数字,和parseInt不同的是,它可以接受指数形式的数据
4、toString(radix);
var a=100;
a.toString();//"100"
a.toString(2)//"1100100"
参数代表要转换成什么数字类型,这里是将数字100转换成2进制,注意:null和undefined不能用这个方法,会报错
二、隐式转换
1、isNaN(value);
如果参数值为 NaN 或字符串、对象、undefined等非数字值则返回 true, 否则返回 false。
隐式的调用了Number();其实大部分隐式转换都调用了Number()
2、++ -- + - * / %
var a = 1 + "1";//"11"
var b = 1 + true;//2
var c = 1 - "1";//0
var d =1 - true;//0
var e = false + true;//1
var f = false + undefined;//NaN
当+号一边有字符串时,会当成字符串拼接,否则会转换成数字进行运算
3、&& || !
4、< > <= >=
5、== !=
盗图一张: