JS有五种基本的数据类型:undefined,null,number,boolean,string
还有一种复杂的数据类型:object
JS的所有数据都最终必须是这6种之一
检测数据类型我们可以用typeof操作符,注意这是操作符不是函数
undefined只有一个值就是undefined
我们先声明一个变量message,不给他赋值,那么这个变量的默认值就是undefined,我们经过测试给出的返回值是ture说明两者是相等的。
null类型也只有一个值就是null
null值是一个空对象指针,如果用typeof测试的话,返回的是object,那么问题来了,null类型只有一个null值,为什么返回的是object呢?
因为null本身就是对象,因为它很特殊,所以给了一个独立的番号null类型
其实在JS中所有数据类型本质上都是对象,包括上面的undefined
因此,一个变量如果是用来保存对象的,创建时最好用null来初始化这个变量
boolean类型只有两个字面量:ture和false,表示真和假,注意全部小写,通常作为判断条件
尽管boolean类型只有两个值,但是其他的数据类型有些特殊值在必要的时候会自动的转为boolean值
我们创建一个空字符串,他会自动把message转变为布尔值的假
number类型是最常用的一种数据类型
以上分别是最大数值,本机最大安全数值和最小数值
string类型,本义是指字符串,为了和其他类型相区别,该类型的值是封闭在一对引号中的,可以是单引号也可以是双引号,必须配对使用。
如果字符串有必须要转义的字符,必须要使用双引号
string类型有一个非常重要的属性length,可以返回字符串长度
除了null值和undefined值以外,几乎每一个值都有一个很适应的方法:tostring(),可以将自身转变为string类型
JS中最复杂的类型就是object类型
object类型就是对象类型,本质上说就是一组相关数据和功能的集合,也就是属性和方法的集合。
其中属性的载体是变量,方法的载体是函数或者函数表达式。