JS的各种类型转换分析
一、显示类型转换
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、== !=
盗图一张:
上一篇: 比吃屎还恶心
下一篇: Linux 文件系统管理