区别类型为object的对象、数组和日期

来源:互联网 发布:sql server 2008 免费 编辑:程序博客网 时间:2024/04/30 20:59

通过typeof(value)方法可以判断当前变量的数据类型。

var a = {id:'1',name:'对象'};var b = [1,2];var c = new Date();typeof(a);   //objecttypeof(b);  //objecttypeof(c);  //object
对象、数组和日期的结果都为object,不能将typeof作为判断其类型的依据。

每个变量都带有构造属性,用constructor函数可以获得。

a、b、c三个变量的构造函数分别为:

①a.constructor;  //Object() {...}

②b.constructor;  //Array() {...}

③c.contsructor; //Date()  {...}

实例:

function diffObject(value,type){   return value.constructor.toString().indexOf(type) != -1;}console.log(diffObject(a,'Object')); //trueconsole.log(diffObject(a,'Array'));  //falseconsole.log(diffObject(b,'Array')); //trueconsole.log(diffObject(c,'Date')); //true
扩展知识:

javascript包含5种不同的数据类型。

  • 数字number
  • 字符串string
  • 布尔boolean
  • 对象object
  • 函数function

其中对象类型还分:

  • Object
  • Array
  • Date





阅读全文
0 0
原创粉丝点击