web前端:Javascript实现instanceof

    作者:小乐9924更新于: 2020-03-07 11:17:02

    Web开发

      instanceof是javaphp的一个二元操作符(运算符),和==,>,<是同一类东西。由于它是由字母组成的,所以也是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通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。

课课家教育

未登录

1