javasript数据类型以及如何判断数据类型

在javascript里面一共有
5种基本的数据类型,分别是:Number,String,Boolean,Null,Undefined
7种引用类型,分别是:Object类型,Array类型,Date类型,RegExp类型,Function类型,基本包装类型,单体内置对象。
*注“引用类型的值(对象)是引用类型的一个实例。在ECMAScript中,用于将数据和功能结合在一起。它长被成为类,但这种称呼并不恰当”[1]
其中如何判断数据类型,当我们要判断一个变量属于什么数据类型时,javascript提供了那些方式让我们判断呢?

以基本数据类型Number和引用类型Array类举例
 
//方法1:typeof
var b = 222;
var c= [1,2,3];
alert(typeof b);//number
alert(typeof c);//object
View Code

//方法2 instanceof 该方法只限于引用类型使用。而且要注意大小写

1 var b = 222;
2 var c= [1,2,3];
3 alert(b instanceof number);//报错
4 alert(c instanceof Array);//true
5 alert(d instanceof array);//true
View Code

//方法3 constructor

1 var b = 222;
2 var c= [1,2,3];
3 alert(c.constructor === Array);//true
4 alert(b.constructor === Number);//true 这里应该是javascript自动把变量转为了基本包装类型
View Code

//方法4 prototype 要注意大小写

1 var b = 222;
2 var c= [1,2,3];
3 alert(Object.prototype.toString.call(b)=== '[Object Number]');//false
4 alert(Object.prototype.toString.call(c)=== '[Object Array]');//false
5 alert(Object.prototype.toString.call(b) === '[object Array]') //true
6 alert(Object.prototype.toString.call(c) === '[object Array]') //true
View Code

 

引用:
[1][高性能JavaScript编程].(High.Performance.JavaScript).Nicholas.C.Zakas.中英对照版

 

posted on 2017-02-03 22:24  lukelin1989  阅读(2279)  评论(0编辑  收藏  举报

导航