JS之数据类型(Number()、parseInt()、toString()等转换)

204 阅读1分钟

今天又系统的整理了一下js中数据类型的显性转换和隐性转换

数据类型有:number、string、boolean、object、function、undefined

  1. 显性转换:

Number()

 1).number==>原始值;
 2).boolean==>1/0;
 3).null==>0;
 4).undefined==>NaN;
 4).string==>a.内容为数字==>数字;
             b.内容为16进制==>10进制;
             c.空==>0;
             d.含多余字符==>NaN;

注意此时NaN的类型,及typeof(NaN)=number;

parseInt()强调化为整数

1).number==>整数不变,浮点数到小数点截止;
2).boolean==>NaN;
3).null,undefined,空字符串==>NaN;
4).string==>数字开始到非数字截止;(开头非数字为NaN)
5).parseInt(a,b)b参数可以作为模,将以b为进制的数转为10进制

parseFloat()小数化为小数

String()将括号中数据化为字符串

toString()

1).使用方式与String()不同,为变量.toString();
2).null,undefined不可用toString();
3).括号内可加模a,将10进制的变量转为a进制;

Boolean()转为true/false;null、undefined、null、""均转为false。

  1. 隐性转换:

isNaN():先经过Number(),再判断是否为NaN;

a++/+/-:一元运算符:先经过Number(a),在执行;

+(加号):两边有一个为字符串类型,则把另一边先string();

-/*///%:先Number();

逻辑运算符:先Boolean();

比较运算符:数字优先,都为字符串比较ASCII码;注意: undefined==null是true;和别的比都是false;

NaN===NaN:false!

练习:typeof(Number(undefined))=number; typeof((undefined))=string;