目录
1.显式类型转换
特点:程序员转换,阅读性高
1.转数字类型Number
(常用)其他类型转数字: Number(数据)
注意点:数据有非数字字符结果就为NaN
字符串转整数: parseInt(数据) 字符串转小数: parseFloat(数据)
应用场景:用来转换带单位的字符串
注意点:数据不能以非数字字符开头 否则结果为NaN
<script>
//1.Number() : 其他类型转数字
//注意点:不能出现非数字字符否则会得到NaN
//打印结果
console.log(Number('1')) //1
console.log(Number('$1')) //NaN
/*2.parse语法 : 可以解析字符串中的数字部分,一般用于转换带单位的字符串 "12px"
2.1 parseInt() : 转换整数
2.2 parseFloat() :转换小数
*/
//注意点:开头位置不能出现非数字字符否则会得到NaN
//2.1 转整数: parseInt(数据) 打印结果
console.log(parseInt('12px')) //12
console.log(parseInt('12.5px')) //12
console.log(parseInt('$12.5px')) //NaN
//2.2 转小数: parseFloat(数据)
console.log(parseFloat('12.5px')) //12.5
</script>
2.转字符串类型String
(常用)其他类型转字符串 : Stying(数据)
变量转字符串 :变量名:.toStying(数据) 用于进制转换
<script>
其他类型转字符串
let num = 200
//1. String(数据)
//可以转换undefined 和null
console.log(String(num))//"200"
console.log(String(true)) // "true"
console.log(String(undefined))//"undefined"
console.log(String(null))//"null"
//2. 变量名.toString()
//只能变量名来使用,而且不能转换undefined和null
//应用:可以实现进制转换(可以把0-255颜色范围转成16进制)
console.log(num.toString(16))
</script>
3.转布尔类型Boolean
转布尔类型: Boolean(数据) //只有两个值 true(真) false (假)
结果为false情况的取值 :
1、0(数字0,字符串"0"布尔值为true):
2、'' (空的字符串,中间不能有空格否则为true)
3、undefined(未定义值)
4、null(代表空值)
5、NaN(无法计算结果时出现 //typeof NaN==="number")
6、false(布尔值的false)
结果为true情况的取值:
除false之外,其余都为true
例子:
<script>
//打印结果
console.log(Boolean(0)) //false
console.log(Boolean(-0)) //false
console.log(Boolean('')) //false
console.log(Boolean(' ')) //true
console.log(Boolean(NaN)) //false
console.log(Boolean(undefined)) //false
console.log(Boolean(null)) //false
console.log(Boolean(false)) //false
</script>
2 .隐式类型转换
运算两边类型不一样 ,编译器自动转换为相同类型后运算
<script>
/*
隐式转换 : 当运算符两边的 ‘数据类型不一致’ 的时候,编译器会转成一致后运算
(1)转换数字 : 算术运算符 + - * / %
(2)转换字符串 : 连接符+ (+号两边只要有一边是字符串,此时+就是连接符)
(3)转换布尔: 逻辑非 !
*/
//1.转换数字 : 算术运算符 打印结果 转换过程
console.log( '100' - 10 ) // 90 Number('100') - 10
console.log( 1 + true ) // 2 1 + Number(true)
console.log( +'10' ) // 10 +数学正号 Number(10)
//2.转换字符串 : 连接符
console.log( '1' + true ) // '1true' '1' + String('true')
//3.转换布尔 : !
console.log( !1 ) // false !Boolean(1)
console.log( !undefined ) // true !Boolean(undefined)
</script>