一、数值
1.在js中所有数值,包含整数和小数(浮点数)都属于number类型
2.在js中大部分的数值精确值可以得到保证
3在js中,小数运算可能得到一个不精确的结果
4.所有在js中不要做对精度要求高的运算,(尤其是涉及到钱的)
5.当一个数值超出了其范围时,会显示infinity,也就是正无穷,其类型还是number
6.NaN也是一个特殊数字,表示Not a Number 非法数字,其类型还是number
7.typeof运算符,用来检查一个值的类型,检查一个字符串时候,会返回string,检查一个数字时,会返回一个number
二、布尔值
1.布尔值就是用来逻辑判断的
2.布尔值只有两个,true和false,真和假,1和0
3.用typeof检查一个布尔值会返回一个boolean
三、空值和未定义
1.空值用null表示,表示一个空的对象,一个不存在的东西, null只有一个值,就是null,用typeof检查null时,会返回一个’object’
2.underfined表示未定义,当我们定义一个变量时但不进行赋值,就是underfined,它的值只有一个就是underfined,用typeof检查时,返回’underfined’
3.基本数据类型:number数值、string字符串、null空值、underfined未定义
在js中所有的基本数据类型都是不可变类型,值一旦被创建就不可被修改
4.js中的变量并不直接存储,而是存储值的内存地址,当我们访问变量时,是通过地址去找到数值,而地址是唯一的,其也就说其数值是不可变的,数值变化是创建一个新的地址去存储新值
四、类型转换
即是将其他类型转换成string,number,boolean
1.将其他类型转换成字符串
方式一:被调用被转换类型的toString()方法,调用xxx的yyy方法也就是xxx.yyy(),用于null和underfined中不含有toString()方法,所以对它两调用时会报错
方式二:调用string()函数,来将被转换数据类型转换为字符串,调用xxx函数也就是xxx(),原理:对于具有toString()方法的值,就是直接调用toString()对其进行转换,但是对于string()函数null来说,它是直接将其转换为字符串’null’,underfined也是如此
2.使用number()函数将一个其他类型转换为数字类型
转换情况:字符串是一个合法数字,则直接转换为对应的数字,如果不是一个合法数字,则转换为NaN
boolean布尔值,true–>1,false–>0;
null–>0,underfined–>NaN
除了用number()函数以外,还有两个函数专门用来将一个字符串转换为数字:
parseInt()将一个字符串(只对字符串)解析为一个整数,该函数会自左向右读取一个字符串中的字符,直到找到字符串中所有的合法整数为止,这个函数还可以对一个数字进行取整;
parseFloat()将一个字符串解析为一个小数,该函数会自左向右读取一个字符串中的字符,直到找到字符串中所有的合法小数为止