2.数据类型
2.1 6种数据类型
- String 字符串
单引号双引号都可以,注意嵌套问题,可以使用“\”转义
\n 换行 \t 水平制表符
- Number 数值
变量只用在声明的时候用写var
包括整数和浮点数
JS中能表示最大的数值:Number.MAX_VALUE
如果超过最大值,则会返回正无穷:Infinity,是一个字面量,类型是Number。
-Infinity 表示负无穷
对应的还有最小值:Number.MIN_VALUE,大于0的最小值。
NaN是一个特殊的数字:Not A Number,类型是Number。
使用浮点数进行计算,有可能得到一个不精确的结果,不要使用JS进行精度要求比较高的运算。
- Boolean 布尔值
true 和 false
- Null 空值
只有一个值:NULL,专门表示空对象;用typeof检查会返回Object
- Undefind 未定义
只有一个值:Undefind,声明一个变量不赋值时,它的值就是Undefind。
- Object 对象
前5种为基本数据类型,Object为引用数据类型
- 检查变量数据类型:typeof
//typeof 变量名
Console.log(typeof 变量名);
返回的是数据类型的字符串表达
-
判断对象的具体类型:instanceof
语法: 要判断的对象(A) instanceof 要判断的类型(B)
判断A是不是B的实例,B是构造函数
也可以用全等来判断一下数据类型“===”
2.2强制类型转换
主要是指,将其他数据类型转换成String,Number,Boolean。
2.2.1 将其他数据类型转换为String
方式一:
调用被转换类型的toString()方法;
let a = 123;
a.toString();
该方法不会影响到原变量,它会将转换的结果返回
但是注意,null和undefined这两个值没有toStrin()方法
方式二:
调用String()函数,将被转换的数据作为参数传递给函数
使用String()函数做强制类型转换
a = 456;
a = String(a);
对于Number和Boolean实际上就是调用的toString()方法
但是对于null和undefined,就不会调用toString()方法,返回的就是字符串类型的null和undefined
2.2.2 将其他数据类型转换为Number
方式一:
调用Number()函数:字符串Number
let a = "122";
a = Number(a);
注意:
如果是纯数字的字符串,则直接转换成对应的数字
如果字符串中含有非数字的内容,则转换为NaN
True : 1
flase : 0
Null : 0
undefined: NaN
方式二:
调用parseInt()函数取整数
let a = "122px";
a = parseInt(a);
从左向右依次读取,到第一个不是数字的字符为止,把数字提取出来。
调用parseFloat()函数取浮点数
let a = "122.34px";
a = parseFloat(a);
如果对非String使用parseInt()和parsrFloat(),它会先将其转换为String再操作
0x开头是16进制数字
0开头的是8进制数字
0b开头是2进制数字
parseInt()可以加入第二个参数:parseInt(对象,几进制)
来指定浏览器使用哪种进制进行转换
2.2.3 将其他数据类型转换为Boolean
-
数字转布尔:
除了0和NaN其他都是true
-
字符串转布尔:
除了空串,其他的都是true. //空格不是空串
-
Null转布尔是false
undefined转布尔是false