JS学习笔记(强制数据类型转换):
强制类型转换:
指将一个数据类型强制转换为其它的数据类型
类型转换主要指将其它数据类型转换为:String、Number、Boolean
学习内容:
1、将其他数据类型转换为String
1)方法一:调用被转换数据类型的toString()方法,该方法不会影响到原变量,null和undefined的类型没有toString()方法(调用他们的方法会报错)。
2)方法二:调用String()函数,并将被转换的数据作为参数传递给函数
使用String()函数做强制转换时,对于Number和Boolean实际上是调用toString()方法,但是对于Null和Undefined,就不会调用toString()方法,它会将null直接转换为"null",将undefined直接转换为"undefined"
2、将其它数据类型转换为Number
1)方法一:使用Number()函数
字符串转换数字:
1.如果是纯数字的字符串,则直接将其转换为数字
2.如果是字符串中有非数字内容,则会转换为NaN
3.如果字符串是一个空串或是一个空格字符,则会转换为0
布尔值转换为数字:
true --> 1
false --> 0
null转换为数字:
null --> 0
undefined转换为数字:
undefined --> NaN
2)方法二:
这种方法专门用来对付字符串
parseInt() 把一个字符串转换为一个整数
parseInt()可以将一个字符串中的有效整数内容取出来,然后转换为Number类型
parseFloat() 把一个字符串转换为一个浮点数
parseFloat()作用与parseInt()类似,不同的是它可以获得有效的小数
parseInt()和parseFloat()对于非字符串类型会先将其转换为String类型再调用方法。
其它进制数字:
十六进制数字:需要0x开头
八进制数字:需要0开头
二进制数字:需要以0b开头
(但不是所有浏览器都支持)
3、其它数据类型转换为Boolean值
1)调用Boolean()函数
数字 --> 布尔
除了0和NaN,其余都是true
字符串 --> 布尔
除了空串,其余都是true
null和undefined --> 布尔
都会转换为false
对象(object)也会转换为true