Javascript原型链及instanceof原理详解

 更新时间:2020年05月25日 10:45:36   作者:千年轮回  
这篇文章主要介绍了Javascript原型链及instanceof原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

instanceof:用来判断实例是否是属于某个对象,这个判断依据是什么呢?

首先,了解一下javascript中的原型继承的基础知识:

javascript中的对象都有一个__proto__属性,这个是对象的隐式原型,指向该对象的父对象的原型(prototype)。显式的原型对象使用prototype,但是Object.prototype.proto=null;

判断某个对象a是否属于某个类A的实例,可以通过搜索原型链。

实例对象属性查找顺序是:实例对象内部---->构造函数原型链---->实例对象父对象的原型链。

//继承机制
  function A(){
  }
  A.prototype.name='licui';

  function B(){

  }
  B.prototype = new A();

  var a = new A();
  var b = new B();
  //b.name = 'hello';

  console.log('A:',A);
  console.log('B:',B);
  console.log('a:',a);
  console.log('b:',b);

  console.log('A.prototype',A.prototype);
  console.log('B.prototype',B.prototype);
  console.log('a._proto_',a.__proto__);
  console.log('b._proto_',b.__proto__);

  console.log('a instanceof A:',a instanceof A);
  console.log('a instanceof Object:',a instanceof Object);
  console.log('b instanceof B:',b instanceof B);
  console.log('b instanceof A:',b instanceof A);
  console.log('b instanceof Object:',b instanceof Object);

执行结果

constructor:是原型prototype上的属性,实例上不具有该属性。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 微信小程序自定义菜单导航实现楼梯效果

    微信小程序自定义菜单导航实现楼梯效果

    在html开发中,我们可以用到a标签锚点实现,jq的动画相结合实现类似效果。在框架中vant UI框架也为我们实现了这一效果。接下来通过本文给大家介绍微信小程序自定义菜单导航实现楼梯效果,感兴趣的朋友一起看看吧
    2021-12-12
  • 老生常谈遮罩层 滚动条的问题

    老生常谈遮罩层 滚动条的问题

    小编遇到的问题是在弹出层后面的 遮罩层,因为有滚动条,导致滚动条下面不可视区域没有遮罩层。下面就为大家介绍一下解决方法
    2016-04-04
  • js中用cssText设置css样式的简单方法

    js中用cssText设置css样式的简单方法

    下面小编就为大家带来一篇js中用cssText设置css样式的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • JS前端基于canvas给图片添加水印

    JS前端基于canvas给图片添加水印

    这篇文章主要介绍了JS前端基于canvas给图片添加水印,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • js实现左侧网页tab滑动门效果代码

    js实现左侧网页tab滑动门效果代码

    这篇文章主要介绍了js实现左侧网页tab滑动门效果代码,涉及JavaScript页面元素的遍历及元素属性动态切换的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • 微信小程序实战项目之富文本编辑器实现

    微信小程序实战项目之富文本编辑器实现

    富文本在Web开发上的地位大家可想而知,很多地方都需要用到富文本编辑器,比如开发类似新闻管理小程序、商品简介等,下面这篇文章主要给大家介绍了关于微信小程序实战项目之富文本编辑器实现的相关资料,需要的朋友可以参考下
    2022-10-10
  • 微信小程序下拉框搜索功能的实现方法

    微信小程序下拉框搜索功能的实现方法

    这篇文章主要介绍了微信小程序下拉框搜索功能的实现方法,内容比较简单容易理解 ,需要的朋友可以参考下
    2019-07-07
  • 详解Chai.js断言库API中文文档

    详解Chai.js断言库API中文文档

    这篇文章主要介绍了详解Chai.js断言库API中文文档,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • 浅析JavaScript函数的调用模式

    浅析JavaScript函数的调用模式

    这篇文章主要为大家详细介绍了JavaScript函数的调用模式,包括方法调用模式,构造器调用模式,apply/call调用模式,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • JavaScript编写页面半透明遮罩效果的简单示例

    JavaScript编写页面半透明遮罩效果的简单示例

    这篇文章主要介绍了JavaScript编写页面半透明遮罩效果的简单示例,包括一个全屏幕div层遮盖的方法展示,需要的朋友可以参考下
    2016-05-05

最新评论