ECMScript中有5中简单的数据类型:Undefined、NUll、 Boolean、Number和String,还有一种复杂的类型是Object,ECMScript不支持任何自定义类型的机制,所有值都成为以上6种之一。
一、typeof操作符
用来检测变量的类型,从而返回相应的字符串。
二、Undefined类型
只有一个值,在我们没有赋值变量的时候或者不存在的变量就会自动被赋值为Undefined,就会显示undefined。所以,我们引用变量的时候要进行初始化。
三、Null类型
只有一个值,表示的是一个空对象的。
*我们在定义对象的时候,初始化的时候我们最好定义成null,这样当我们检查的时候就知道,该变量是否分配了对象引用。(说白了就是我们初始化了对象,但对象又不存在)
*null是源自我们的Undefined,所以测试二者是否相等的时候,返回的结果是true。
四、boolean类型
有两个值,true和false,注意我们的JavaScript是区分大小写的。
a、Boolean()函数:将里面的值转换为Boolean类型。非空字符串就是真,空字符串就是假的。对于数字只有0和NaN就会返回假。对象为null就返回假。Undefined返回假。
五、Number类型
整数和浮点型
a、科学计数法:3.12e3相当于3120
b、做运算的时候我们最好不要用浮点数,容易出错。
c、NaN:非数值,是一个特殊的值,本然要返回数值,出错的时候就会报出这个NaN。比如0/0就会返回NaN但12/0返回的是正无穷。Number.NaN可以得到这个值。isNaN()函数可以判断该值是不是NaN。isNaN函数也适用于对象,在调用该函数的时候,首先会调用valueof()方法,然后确定返回值能否转换为数值。如果不能则基于这个返回值调用toString()方法,再测试返回值。
d、Number函数:
e、parseint()函数:
六、String类型
a、toString():不能传参数,但他在转换参数的时候可以传参数。
七、Object类型
var box=new Object();
Object对象是对象初始化的构造。
var a=new Number(30);