2.强制数据类型转换
指将一个数据类型强制转换为其他的数据类型类型转换主要指,将其他的数据类型,转换为 String Number Boolean其他数据类型转换String
方式一:
-调用被转换数据类型的toString()方法
-该方法不会影响原变量,它会将转换的结果返回
-但是注意:null和undefined没有toString()方法,如果调用他们的方法会报错
方法二:
-调用String()函数,并将被转换的数据作为参数传递给函数。
-使用String()函数做强制类型转换时,对于Number和Boolean实际上就是调用toString()方法。
-但是对于null和undefined,就不会调用toString()方法
它会将null 直接转换为"null"
将undefined转换成"undefined"
其他的数据类型转换为Number
转换方式一:使用Number函数
转换方式二:字符串转数字
1.如果是纯数字的字符串,则直接将其转换为数字
2.如果字符串中有非数字内容,则转为NaN
3.如果字符串是一个空串或者是一个全是空格的字符串,则抓为
布尔转数字
true 转成 1
false 转成 0
-Null 转数字 0
-undefined --> 数字 NaN
这种方式专门用来转字符串
-parseInt()把一个字符串转换为一个整数
-parseFloat()把一个字符串转换为一个浮点数
var a = "123";var a = "abc";// 使用Number函数来将a转换为Number类型a = Number(a);a = "12a3px";// parseInt()可以将一个字符串的有效的整数内容取出来,然后转成Numbera = parseInt(a);/*parseFloat()作用和parseInt()类似,不同的它可以获得有效的小数*/a = "123.456px";a = parseFloat(a);console.log(typeof a);console.log(a);
其他进制的数字
在JS中,如果需要16进制数字,则需要以0x开头
如果需要8进制的数字,则需要以0开头
如果需要表示2进制的数字,则需要以0b开头
但不是所有的浏览器都支持
其他数据类型转换为Boolean
使用Boolean()函数
-数字转布尔
-除了0和NaN,其余的都是true
-字符串转布尔
-除了空串,其余都是true
-null和undefined都会转换为false
-对象也会转换为true