您的位置:
富录-前端开发|web技术博客
>
JavaScript >
JavaScript判断变量数据类型的方法
JavaScript判断变量数据类型的方法
发布时间:2020年06月17日评论数:抢沙发阅读数:
1329
数据类型var a = 123;
var b = 'abc';
var c = true;
var d = undefined;
var e = null;
var f = {};
var g = [];
var h = function(){};
var i = /^[a-zA-Z]{5,20}$/;
var j = new String('123');
var k = new Object();
var l = new Function();
var m = new Array();
var n = new RegExp();
typeof()
可以判断基本数据类型,但无法判断对象的具体类型。
console.log(typeof a); // number
console.log(typeof b); // string
console.log(typeof c); // boolean
console.log(typeof d); // undefined
console.log(typeof e); // object
console.log(typeof f); // object
console.log(typeof g); // object
console.log(typeof h); // function
console.log(typeof i); // object
console.log(typeof j); // object
console.log(typeof k); // object
console.log(typeof l); // function
console.log(typeof m); // object
console.log(typeof n); // object
Object.prototype.toString.call()
可以判断具体的对象类型,包括正则等,但是无法判断自定义对象类型。
console.log(Object.prototype.toString.call(a)); //[object Number]
console.log(Object.prototype.toString.call(b)); //[object String]
console.log(Object.prototype.toString.call(c)); //[object Boolean]
console.log(Object.prototype.toString.call(d)); //[object Undefined]
console.log(Object.prototype.toString.call(e)); //[object Null]
console.log(Object.prototype.toString.call(f)); //[object Object]
console.log(Object.prototype.toString.call(g)); //[object Array]
console.log(Object.prototype.toString.call(h)); //[object Function]
console.log(Object.prototype.toString.call(i)); //[object RegExp]
console.log(Object.prototype.toString.call(j)); //[object String]
console.log(Object.prototype.toString.call(k)); //[object Object]
console.log(Object.prototype.toString.call(l)); //[object Function]
console.log(Object.prototype.toString.call(m)); //[object Array]
console.log(Object.prototype.toString.call(n)); //[object RegExp]
instanceof
只能判断对象的具体类型(包含自定义对象)
console.log(a instanceof Number) // false
console.log(b instanceof String) // false
console.log(c instanceof Boolean) // false
console.log(f instanceof Object) // true
console.log(g instanceof Array) // true
console.log(h instanceof Function) // true
console.log(i instanceof RegExp) // true
console.log(j instanceof String) // true
console.log(k instanceof Object) // true
console.log(l instanceof Function) // true
console.log(m instanceof Array) // true
console.log(n instanceof RegExp) // true
function Test() {
this.prop = 123;
}
var test = new Test()
console.log(typeof test) // object
console.log(Object.prototype.toString.call(test)) // [object Object]
console.log(test instanceof Test) // true test是Test的一个实例
提交评论
名 字:
邮 箱:
网 址:
清空信息
关闭评论