强制数据类型转换:指将一个数据类型强制转换成其他数据类型,也就是说,将其他的数据类型转换为:Number、String、Boolean。
将其他数据类型转换成String:
方法一:调用被转换数据类型的toString()方法,该方法不会影响原变量,它将转换结果返回。
注意:null和undefined没有tostring,如果调用会报错
方法二:调用String()函数,并将被被转换的数据作为参考值传递给函数
String() 函数作为强制类型转换,对于Number、Boolean,其实还是调用了toString方法,但是对于Null和Undefined 不是,Null返回“null”,Undefined返回“undefined”。
将其他数据类型转换成Number:
调用Number()函数,将其他类型转换为Number类型
字符串-----》数字
如果是数字类型的字符串,将直接转换为数字如果是非数字的字符串,将直接转换为NAN如果是空格,将会为0布尔-----》数字
true-----1false-----0Null-----》数字-------返回值为0
Undefined-----》数字-------数字NAN
方法二:专门针对字符串
parseInt()将整数转换为数字,eg:a="123px234"===>123
parseFloat()将浮点数转换为数字eg:q=’12.34.56’====>12.34
其他进制的数字:
js中,表示16进制的数值,则需要0X开头
表示8进制的数值,则需要0开头
表示2进制的数值,则需要0b开头,但是不是所有浏览器都支持
像“378”字符串,可能为8进制,10进制解析,这时我们可以用parseInt(w,10)来指定,w为赋的值,10指十进制。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> //十六进制 a=0Xcafe d=0X10 console.log(a) console.log(d) //八进制 f=034 b=08 console.log(f) console.log(b) //二进制 g=0b01 console.log(g) k=072 k=parseInt(k,10) console.log(k) </script> </head> <body> </body> </html>将其他数据类型转换成Boolean:
调用Boolean()函数,将其他数据类型转换。
字符串--->Boolean:除了空字符串,其他都为true数字----->Boolean:除了0和NaN,其余都为trueNull和Undefined:falseobject:true d="nihao" j=Boolean(d) console.log(j)