js数据类型间的互相转换

1.其余数据类型转换为number

有 3 个函数能够把非数值转换为数值:Number() 、 parseInt() 和 parseFloat() 。第一个函数, 即转型函数 Number() 能够用于任何数据类型,而另两个函数则专门用于把字符串转换成数值。平常使用中,parseInt)()比较的经常使用,javascript

而在 ECMAScript 5 JavaScript 引擎中, parseInt() 已经不具备解析八进制值的能力,所以前导的零会 被认为无效,从而将这个值当成 "70" ,结果就获得十进制的 70。在 ECMAScript 5 中,即便是在非严格 模式下也会如此。java

为了消除在使用 parseInt() 函数时可能致使的上述困惑,能够为这个函数提供第二个参数:转换 时使用的基数(即多少进制)。若是知道要解析的值是十六进制格式的字符串,那么指定基数 16 做为第 二个参数,能够保证获得正确的结果函数

parseInt()与parseFloat()的区别:设计

1.parseInt()会忽略非数字字符,parseFloat()除对第一个小数点有效, 也会忽略非数字字符cdn

2.它们都会忽略前导0;对象

3.parseInt()不解析8进制,parseFloat()只解析10进制blog

Boolean:true和false 分别转换为1和0;
number:简单的传入和返回
null:0
undefined:NaN
ip

string:1.若单纯为数字,转换为10进制数字(忽略前导0);例:"123"转为123,"011"转为11字符串

2.若是为有效浮点数,则转换为对应的浮点数值,例:"1.5"转换为1.5string

3.若是为有效16进制格式,转换为同等的10进制数,例:'0xf'转化为15

4.若是为空字符串,转换为0,例:''转为0, 5.若是是除上述以外的字符,转换为NaN,例:

Object:若是是对象,则调用对象的 valueOf() 方法,而后依照前面的规则转换返回的值。若是转换 的结果是 NaN ,则调用对象的 toString() 方法,而后再次依照前面的规则转换返回的字符 串值。不过通常都是转换为NaN,若是想要转换为所须要的数字,能够修改valueOf()和toString()方法

2.其余数据类型转换为字符串

要把一个值转换为一个字符串可使用toString() 方法

number:例:1转换为'1',
Boolean:例:true转换为'true',false转换为'false'
null:报错,没有此方法
undefined:报错,没有此方法
string:返回一个字符串副本
Object:返回 "[object Object]"

3.其余数据类型转换为布尔值

数据类型 转换为true值 转换为false值
Boolean true false
String 任何非空字符串 ""空字符串
Number 任何非零数值(包括无穷大) 0和NaN
Object 任何对象
Undefined 不适用 undfined
null 不适用 null

6个falsey:false,""空字符串,null,undefined, 0和NaN

4.因为Undefined和Null,Object的特殊性,因此转换类型没有意义,没有转换方法。

5.参考资料

javascript高级程序设计(第三版)

6.未完待续……

相关文章
相关标签/搜索