5种简单数据类型(基本数据类型):Undefined、Null、Boolean、Number和String
1种复杂数据类型:Object
typeof操作符可检测变量的数据类型;
注意:typeof是一个操作符而不是函数。
var message="some string";
console.log(typeof message); //"string"
console.log(typeof(message));//"string",括号不是必需的
console.log(typeof 95); //"number"
1.Undefined
在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined
var message;
console.log(message);//undefined
2.Null
null值表示一个空对象指针,这也正是使用typeof操作符检测null值时会返回"object"的原因。
如果定义的变量在将来用于保存对戏,可将该变量初始化为null。
注意:null==undefined 但它们的用途完全不同。
Null还可以解除值引用,不过,解除一个值的引用并不一意味着自动回收该值所占用的内存,而是让值脱离执行环境,以便垃圾收集器下次运行时将其回收。例如:
function createPerson(name){
var localPerson=new Object();
localPerson.name=name;
return localPerson;
}
var globalPerson=createPerson("Nicholas");
globalPerson=null; //手动解除globalPerson的引用
3.Boolean
该类型只有两个值:true和false
4.Number
这种类型包括整数和浮点数值
(1)浮点数值的最高精度是17位小数,但在进行算术运算是其精度不如整数,例如
0.1+0.2
//0.30000000000000004
(2)NaN与任何值都不相等,包括NaN自身。
isNaN():确定是否不是数值
isNaN('y')
//true
isNaN('0')
//false
5.String:字符串
用双引号表示的字符串和单引号表示的字符串完全相同,左右引号必须匹配。
6.Object
js中对象是一组属性与方法的集合。我们看到的大多数类型值都是Object类型的实例,创建Object实例的方式有两种。
第一种是使用new操作符后跟Object构造函数,如下所示
var person = new Object();
person.name = "Micheal";
person.age = 24;
第二种方式是使用对象字面量表示法,如下所示
var person = {
name : "Micheal",
age : 24
};