您的位置:首页 > Web前端 > JavaScript

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

2019-05-17 21:29 363 查看

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

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

显性转换:
Number()

1).number==>原始值;
2).boolean==>1/0;
3).null==>0;
4).undefined==>NaN;
5).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均转为false。

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

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

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

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

逻辑运算符:先Boolean();

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

NaN===NaN:false!

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: