基于OpenLayers的WebGIS程序二次开发实例教程
35210 人在学
instanceof是java、php的一个二元操作符(运算符),和==,>,<是同一类东西。由于它是由字母组成的,所以也是Java的保留关键字。它的作用是判断其左边对象是否为其右边类的实例,返回boolean类型的数据。
instanceof
instanceof用于判断某个对象是否是另一个对象(构造方法)的实例。instanceof会查找原型链,直到null如果还不是后面这个对象的实例的话就返回false,否则就返回true
functioninstanceofFunc(obj,cons){
//错误判断构造函数必须是一个function其他的均报错
if(typeofcons!=='function')thrownewError('instanceerror')
if(!obj||(typeofobj!=='object'&&typeofobj!=='function'))returnfalse
//获取到原型对象
letproto=cons.prototype
//如果obj的原型对象不是null
while(obj.__proto__){
if(obj.__proto__===proto)returntrue
obj=obj.__proto__
}
returnfalse
}
console.log(instanceofFunc(()=>{},Function))//true
instanceof可以用来判断继承中的子类的实例是否为父类的实现。相当于c#中的is操作符。java中的instanceof运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。