js判断数据类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js判断数据类型相关的知识,希望对你有一定的参考价值。
一、typeof 直接返回数据类型字段,但是无法判断数组、null、对象
typeof 1
"number"
typeof NaN
"number"
typeof "1"
"string"
typeof true
"boolean"
typeof undefined
"undefined"
typeof null
"object"
typeof []
"object"
typeof {}
"object"
其中 null, [], {}都返回 "object"
二、instanceof 判断某个实例是不是属于原型
// 构造函数
function Fruit(name, color) {
this.name = name;
this.color = color;
}
var apple = new Fruit("apple", "red");
// (apple != null)
apple instanceof Object // true
apple instanceof Array // false
三、使用 Object.prototype.toString.call()判断
call()方法可以改变this的指向,那么把Object.prototype.toString()方法指向不同的数据类型上面,返回不同的结果
function _typeof(obj){
var s = Object.prototype.toString.call(obj);
return s.match(/[object (.*?)]/)[1].toLowerCase();
};
_typeof([12,3,343]);
"array"
_typeof({name: ‘zxc‘, age: 18});
"object"
_typeof(1);
"number"
_typeof("1");
"string"
_typeof(null);
"null"
_typeof(undefined);
"undefined"
_typeof(NaN);
"number"
_typeof(Date);
"function"
_typeof(new Date());
"date"
_typeof(new RegExp());
"regexp"
以上是关于js判断数据类型的主要内容,如果未能解决你的问题,请参考以下文章