[JS]js判断数组类型的方法instanceof用法
方法一之 instanceof
instance,故名思义,实例,例子,所以instanceof 用于判断一个变量是否某个对象的实例,是一个三目运算式---和typeof最实质上的区别
a instanceof b?alert("true"):alert("false") //注意b值是你想要判断的那种数据类型,不是一个字符串,比如Array
举个例子:
var a=[];
console.log(a instanceof Array) //返回true
方法二之 constructor
在W3C定义中的定义:constructor 属性返回对创建此对象的数组函数的引用
就是返回对象相对应的构造函数。从定义上来说跟instanceof不太一致,但效果都是一样的
如: (a instanceof Array) //a是否Array的实例?true or false
(a.constructor == Array) // a实例所对应的构造函数是否为Array? true or false
举个例子:
- function employee(name,job,born){
- this.name=name;
- this.job=job;
- this.born=born;
- }
- var bill=new employee("Bill Gates","Engineer",1985);
- console.log(bill.constructor);
//输出function employee(name, jobtitle, born){this.name = name;
this.jobtitle = job; this.born = born;}
那么判断各种类型的方法就是:
- console.log([].constructor == Array);
- console.log({}.constructor == Object);
- console.log("string".constructor == String);
- console.log((123).constructor == Number);
- console.log(true.constructor == Boolean);
热门文章推荐
- [JS]window.location获取url各项参数详解
- [JS]jQuery,javascript获得网页的高度和宽度
- [JS]视频弹窗视频弹出层videoLightBox(含三种播放器的用法)
- [JS]JS提交中文encodeURI两次转码
- [JS]js版方面encodeURI转码和decodeURI解码的用法实例
- [JS]js取当前机子的时间戳实例
- [JS]AES加密(基于crypto-js)PHP后端解密
- [JS]data:image/png;base64写法的用途及说明