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()可以将一个字符串的有效的整数内容取出来,然后转成Number
a = 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