有 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,例:
要把一个值转换为一个字符串可使用toString() 方法
number:例:1转换为'1',
Boolean:例:true转换为'true',false转换为'false'
null:报错,没有此方法
undefined:报错,没有此方法
string:返回一个字符串副本
Object:返回 "[object Object]"
数据类型 | 转换为true值 | 转换为false值 |
---|---|---|
Boolean | true | false |
String | 任何非空字符串 | ""空字符串 |
Number | 任何非零数值(包括无穷大) | 0和NaN |
Object | 任何对象 | |
Undefined | 不适用 | undfined |
null | 不适用 | null |
6个falsey:false,""空字符串,null,undefined, 0和NaN
javascript高级程序设计(第三版)