欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JS判断类型

程序员文章站 2023-02-08 10:48:41
JS中的typeof方法可以查看数据的类型,如下: 1 console.log(typeof 2); // number 2 console.log(typeof "2"); // string 3 console.log(typeof true); // boolean 4 console.log ......

js中的typeof方法可以查看数据的类型,如下:

1 console.log(typeof 2); // number
2 console.log(typeof "2"); // string
3 console.log(typeof true); // boolean
4 console.log(typeof [2]); // object
5 console.log(typeof {name:2});// object
6 console.log(typeof function(){return 2});// function
7 console.log(typeof new date());// object
8 console.log(typeof null); // object
9 console.log(typeof undefined);// undefined

但typeof只能区分数字、字符串、布尔值、方法及undefined,其他的对象、数组、日期、null等均为object,还是没能区分开,

我们可以利用object.prototype.tostring.call实现。

 1 var gettype = object.prototype.tostring;
 2 var res = gettype.call(2);
 3 res = gettype.call("2");
 4 res = gettype.call(true);
 5 res = gettype.call([2]);
 6 res = gettype.call({name:2});
 7 res = gettype.call(function(){});
 8 res = gettype.call(new date());
 9 res = gettype.call(null);
10 res = gettype.call(undefined);

输出结果依次为:

1 [object number]
2 [object string]
3 [object boolean]
4 [object array]
5 [object object]
6 [object function]
7 [object date]
8 [object null]
9 [object undefined]

这样就能具体区分js中的数据类型了。

原理请参考。