在我的JS数据类型(一)中介绍了7种JS的基本类型,这次就说一下JS几种数据类型的转换。
其他类型转String类型
方法一:
toString()方法
1 | //数字类型转String |
null类型 和 undefined类型在方法一种会报错
方法二:
window.string()
1 | window.string(1) // "1" |
window.string()方法可以将null和undefined类型转换为字符串。
方法三:
其他类型+’’
1 | 1 + '' // "1" |
方法三是方法二的简化版,浏览器会尝试把第一个值变为字符串与空字符串相加,得到的结果就是字符串,方法三在对null和undefined转换时不会报错。
将其他类型转换为Number类型
方法一:
Number():
1 | Number('1') // 得到数字 1 |
这里要特别说明一下 为什么Number(011)得出的结果是11而不是9,这是JS的一个BUG。
方法二:
parseInt(string,radix)方法:
1 | parseInt('1',10) // 得到数字 1 |
parseInt()方法可以用来进制间的转换,同时可以将String转换成Number类型。
方法三:
parseFloat(value)
1 | parseFloat('1.1') // 得到数字 1.1 |
parseFloat()方法可以用来转化小数。
方法四:
‘String’ - 0
1 | '1' - 0 // 得到数字 1 |
方法五:
- ‘String’
1 | +'1' // 得到数字 1 |
注意所有的将String方法转为Number类型必须是’数字’的形式如’1’、’1.1’、’1.1e2’,如果是其他字符串’true’、’a’、’b’,都会转换成NaN。
其他类型转Boolean类型
直接取反2次就可以将其他类型转换成Boolean类型
1 | !!0 // false |
只需记住6个假值分别是false、null、undefined、''(空字符串)、NaN、0,这6个假值,其他一切都是真值。
这就是我总结的几种类型之间的转换方法。
__END__