一、Number
在JS中所有的数值都是number类型
- 最大值Number.MAX_VALUE
- 最小值Number.MIN_VALUE(大于0的最小值)
- Infinity 正无穷
- -Infinity 负无穷
二、Boolean
布尔值只有两个
- True 表示真
- False 表示假
三、Null 和 Undefined
- Null(空值)的类型只有一个 null用 typeof检测时 会返回 object
- Undefined(未定义)类型的值只有一个,就undefind当声明一个变量,但是并不给变量赋值时,它的值就是undefined使用typeof检查一个undefined时也会返回undefined
四、强制转换类型
指将一个数据类型强制转换为其他的数据类型
- 转换字符串String
方式一:tostring()
该方法不会影响到原变量,它会将转换的结果返回 但是注意:null和undefined这两个值没有toString()方法,如果调用他们的方法,会报错
方式二:string()
对于Number和Boolean实际上就是调用的toString()方法但是对于null和undefined,就不会调用toString()方法它会将 null 直接转换为 "null"将 undefined 直接转换为"undefined"
var a = 123;
a = a.toString();
a = String(a);
-
转换成Number
方式一:Number函数- 字符串 --> 数字
1.如果是纯数字的字符串,则直接将其转换为数字
2.如果字符串中有非数字的内容,则转换为NaN
3.如果字符串是一个空串或者是一个全是空格的字符串,则转换为0 - 布尔 --> 数字
true 转成 1
false 转成 0 - null --> 数字 0
- undefined --> 数字 NaN
方式二:
- parseInt()把一个字符串转换为一个整数
- parseFloat() 把一个字符串转换为一个浮点数
- 字符串 --> 数字
-
转换为布尔值
使用Boolean函数- 数字 ---> 布尔
除了0和NaN,其余的都是true - 字符串 ---> 布尔
除了空串,其余的都是true - null和undefined都会转换为false
- 对象也会转换为true
- 数字 ---> 布尔
五、其他进制数字
在js中,如果需要表示16进制的数字,则需要以0x开头如果需要表示8进制的数字,则需要以0开头如果要要表示2进制的数字,则需要以0b开头,但是不是所有的浏览器都支持
//十六进制
a = 0x10;
a = 0xff;
a = 0xCafe;
//八进制数字
a = 070;
//二进制数字
//a = 0b10;