判断数据类型的5种⽅法
1. typeof
可以判断数据类型,它返回表⽰数据类型的字符串(返回结果只能包括number,boolean,string,function,object,undefined);
可以使⽤typeof判断变量是否存在(如if(typeof a!=“undefined”){…});
Typeof 运算符的问题是⽆论引⽤的对象是什么类型 它都返回object
typeof{}// object
typeof[1,2]// object
typeof/\s///object
2.instanceof
原理 因为A instanceof B 可以判断A是不是B的实例,返回⼀个布尔值,由构造类型判断出数据类型
console.log(arr instanceof Array );// true
console.log(date instanceof Date );// true
console.log(fn instanceof Function );// true
//注意: instanceof 后⾯⼀定要是对象类型,⼤⼩写不能写错,该⽅法试⽤⼀些条件选择或分⽀
3.通过Object下的toString.call()⽅法来判断
String.call();
console.log(toString.call(123));//[object Number]
console.log(toString.call('123'));//[object String]
console.log(toString.call(undefined));//[object Undefined]
typeof arrayconsole.log(toString.call(true));//[object Boolean]
console.log(toString.call({}));//[object Object]
console.log(toString.call([]));//[object Array]
console.log(toString.call(function(){}));//[object Function]
4.根据对象的contructor判断
console.log('数据类型判断'- constructor);
console.structor === Array);//true
console.structor === Date);//true
console.structor === Function);//true
5.jq中判断数据类型的⽅法
jQuery提供了⼀系列⼯具⽅法,⽤来判断数据类型,以弥补JavaScript原⽣的typeof运算符的不⾜。以下⽅法对参数进⾏判断,返回⼀个布尔值。
jQuery.isArray();是否为数组
jQuery.isEmptyObject();是否为空对象 (不含可枚举属性)。
jQuery.isFunction():是否为函数
jQuery.isNumberic():是否为数字
jQuery.isPlainObject():是否为使⽤“{}”或“new Object”⽣成对象,⽽不是浏览器原⽣提供的对象。
jQuery.isWindow(): 是否为window对象;
jQuery.isXMLDoc(): 判断⼀个DOM节点是否处于XML⽂档中。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论