数据类型了解与转换
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术: DW
作者:啵啵
撰写时间:2021/5/6
注意看红色字体
1、在ES5中只有6中数据类型,它们分别是以下几种
String 字符串
Number 数值
Boolean 布尔值 true/false
Null 空值 null
Undifined 未定义 undifined
Object 对象
其中基本数据类型:String Number Boolean Null Undifined
引用数据类型:Object
String 字符串
在JS中字符串需要使用引号引起来比如:var str="hello world";
使用单引号或双引号都可以,但是最好不要混用
Number 数值类型
在JS中所有的数值都是Number类型,包括了整数、浮点数(小数)
拓展部分:如果使用Number表示的数字超过了最大值,则会返回一个
Infinity 表示正无穷大
- -Infinity 表示负无穷大
使用typeof检查Infinity也会返回Number
Boolean布尔值只有2个,主要用来做逻辑判断
true 表示真
false 表示假
Null(空值)类型的值只有一个,就是null
null这个值专门用来表示一个空对象
使用typeof检查一个null值时,返回一个object
Undefined(未定义)的值只有一个,undefined
声明一个变量但是未给变量赋值时,它的值就是undefined
2、强制类型转换
指的是将一个数据类型强制转换为其他的数据类型
类型转换主要指,将其他的数据类型转换为 String Number Boolean
2.1、将其他的数据类型转换为String类型
方法一:
Number Boolean
调用被转换数据类型的toString()方法
该方法不会影响原变量,它会将转换的结果返回
注意:null和undefined这两个值没有toString()方法,如果调用该方2.2、法程序会报错
方法二:
调用String()函数,并将被转换的数据作为参数传递给函数
使用String()函数做强制类型转换时,
对于Number Boolean实际上是调用的toString()方法
但是对于空值null和未定义undefined,就不会调用toString()方法
它会将null直接准换为"null"(字符串)
它会将undefined直接准换为"undefined"(字符串)
如下图:
第一张图的行数与第二张的行数输出刚好相对
3.1 强制类型转换 String Number Boolean
指的是将一个数据类型强制转换为其他的数据类型
类型转换主要指,将其他的数据类型转换为
3.2 将其他的数据类型转换为String类型
方法一:
Number Boolean
调用被转换数据类型的toString()方法
该方法不会影响原变量,它会将转换的结果返回
注意:null和undefined这两个值没有toString()方法,如果调用该方法程序会报错
方法二:
调用String()函数,并将被转换的数据作为参数传递给函数
使用String()函数做强制类型转换时,
对于Number Boolean实际上是调用的toString()方法
但是对于null和undefined,就不会调用toString()方法
它会将null直接转换为"null"(字符串)
它会将undefined直接转换为"undefined"(字符串)
3.3 将其他类型转换为Number
一:使用Number()函数
字符串-->数字
1.如果是纯数字的字符串,则可以直接转换为数字
2.如果字符串中有非数字的内容,则转换为NaN
3.如果字符串是一个空串或者是一个全是空格的字符串,则转换为0
布尔值-->数字
True转换为1 false转换为0
null-->数字 0
undefined-->数字 NaN
第二种方式:
这种方式专门用来对付字符串类型
parseInt() 把一个字符串转换为一个整数
parseFloat() 把一个字符串转换为一个浮点数
3.4 将其他类型转换为Boolean
使用Boolean()函数
数字 -->布尔 除了0和NaN是false,其余的全部都是true
字符串-->布尔 除了空串是false,其余的全部都是true
null 和undefined都会转换为false
对象也会转换为true
以上都是我对数据的一些理解和解析