下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

web前端:Javascript实现instanceof

作者:小乐9924     来源: https://www.cnblogs.com/xiaole9924/p/11836528.html点击数:960发布时间: 2020-03-07 11:17:05

标签: instanceofJavascript原型链

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通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。

赞(13)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程