一、将其他类型转化为String
方式一:
调用被转换数据类型的toString()方法
例:a.toString()
该方法不会影响到原变量,他会将转换的结果返回。
注意:null和undefined没有toString()方法,调用会报错。
方式二:
使用String()函数,并将被转换的数据作为参数传递给函数
例:String(a)
使用String()函数做强制类型转换时:
对于Number和Boolean实际上就是调用toString()方法。
但是对于null和undefined就不会调用toString()方法,
他会把null直接转换成"null",
将undefined转换成" undefined"。
二、将其他类型转化为Number
方式一:
使用Number()函数
字符串—>数字
- 如果是纯数字字符串,则直接将其转换成数字
- 如果字符串中有非数字内容,则转换为NaN
- 如果字符串是一个空串或者是一个全是空格的字符串,则转换为0
布尔—>数字
true转成1 false转成0
Null—>数字 0
Undefined—>数字 NaN
方式二:
这种方式专门用来对付字符串
parseInt() 把一个字符串转换为一个整数
parseFloat() 把一个字符串转换为一个浮点数
另:在js中,如果需要表示16进制的数字,则需要以0x开头
如果需要表示8进制的数字,则需要以0开头
如果需要表示2进制的数字,则需要以0b开头(但不是所有浏览器都支持)
可以在parseInt()中传递第二个参数 ,用来指定数字的进制。
三、将其他类型转换为Boolean
方式一:
使用Boolean()函数
数字—>布尔
除了0和NaN,其他都是true
字符串—>布尔
除了空串,其余都是true
Null和Undefined都会转换为false
方式二:(隐式类型转换):
为任意的数据类型做两次非运算,即可将其转换为布尔值。
例:
var a=" hello";
a=!!a; // true