//原型链继承function Father(name,age){//构造器this.name=name;this.age=age;this.say=function(){console.log(this.name)}}Father.prototype.walk=function(){//在对象原型对象上设置的方法console.log(this.age)}function Son(){this.jump=function(){console.log(this)}}Son.prototype=new Father()//此处为原型链继承,继承的是Father实例上的属性var son1=new Son("zhangsan",18)//以下两行代码可以验证son._proto_=Son.prototypeconsole.log(son1.__proto__)//{walk: ƒ, constructor: ƒ}console.log(Son.prototype)//{walk: ƒ, constructor: ƒ}console.log(Son.prototype.hasOwnProperty("age"))//trueconsole.log(Son.hasOwnProperty("age"))//falseconsole.log(Son.prototype.hasOwnProperty("walk"))console.log(Father.hasOwnProperty("walk"))console.log(Father.prototype.hasOwnProperty("walk"))console.log(Father.prototype)//{walk: ƒ, constructor: ƒ}//构造器继承function Father(name,age){//构造器this.name=name;this.age=age;this.say=function(){console.log(this.name)}}Father.prototype.walk=function(){//是在Farher原型对象上的方法console.log(this.age)}function Son(sex){//构造器继承   继承原型属性Father.call(this);this.sex=sex;}var son1=new Son()console.log(Son.prototype)console.log(Son.hasOwnProperty("age"))//false  实际上是在未来的将要创建的Son的实例的环境下面调用了Father构造函数console.log(son1.hasOwnProperty("age"))//trueconsole.log(son1.hasOwnProperty("walk"))//falseconsole.log(Son.hasOwnProperty("walk"))//false

原型链继承和构造函数继承相关推荐

  1. JavaScript中实现继承的方法(深入学习原型链、盗用构造函数、组合继承、原型式继承、寄生式继承、寄生式组合继承)

    一.原型链 原型链的基本思想就是通过原型继承多个引用类型的属性和方法. 构造函数.原型和实例的关系:每个构造函数都有一个原型对象,原型有一个属性指回构造函数,而实例有一个内部指针指向原型. 若原型是另 ...

  2. JS中对象的四种继承方式:class继承、原型链继承、构造函数继承、组合继承(构造函数和原型链继承的结合)

    前言 才发现之前没有对JavaScript中的继承做过总结,不过看得到是不少,接下来就对这几种继承方式做一下总结. class继承 class继承是ES6引入的标准的继承方式. ES6引入了class ...

  3. 记录--JS精粹,原型链继承和构造函数继承的 “毛病”

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 先从面向对象讲起,本瓜认为:面向对象编程,它的最大能力就是:复用! 咱常说,面向对象三大特点,封装.继承.多态. 这三个特点,以" ...

  4. 初学JavaScript:原型继承/盗用构造函数继承/组合继承/寄生式继承/原型式继承/寄生组合式继承

    文章目录 继承 简介 1.原型链继承 默认原型 判断原型与实例间是否为继承关系 原型继承中的方法 原型链的破坏 原型继承的问题 2.盗用构造函数继承 简介 盗用构造函数继承的问题 3.组合继承 简介 ...

  5. 【javascript】简单原型链、借用构造函数

    javascript中继承(实现继承)的方式--简单原型链 1 .简单原型链事例 function Super() { };         Super.prototype = {           ...

  6. 【JS继承】JS继承之构造函数继承

    自我介绍:大家好,我是吉帅振的网络日志:微信公众号:吉帅振的网络日志:前端开发工程师,工作4年,去过上海.北京,经历创业公司,进过大厂,现在郑州敲代码. JS继承专栏 1[JS继承]什么是JS继承? ...

  7. 深入浅析js原型链和vue构造函数

    一.什么是原型链? 简单回顾下构造函数,原型和实例的关系: 每个构造函数(constructor)都有一个原型对象(prototype),原型对象都包含一个指向构造函数的指针,而实例(instance ...

  8. ES5-11原型与原型链深入、对象继承

    原型 谁调用,this就指向谁,当实例对象有该属性时,不会去原型上查找 创建对象的两种方法:字面量.new Object()一般不用后面的 二者创建出来的对象没有差异 Object.create() ...

  9. javascript中实例对象和构造函数关系、原型语法、原型链、call实现继承、apply调用函数、bind拷贝函数、拷贝继承、class类、super、严格模式、高阶函数、闭包、递归、es6简介

    实例对象和构造函数的关系及原型: 实例对象是通过构造函数创建出来的,实例对象的构造器constructor就是指向构造函数的:每个实例对象中的同一方法的指向是各不相同的,但是其属性值相同的属性可以相同 ...

最新文章

  1. 一个ASP.NET中使用的MessageBox类
  2. noclobber属性
  3. /proc/sys/net/ipv4 详解2
  4. 【Flink】Flink source后全过滤数据导致监控数据为0
  5. Nginx设置上传文件大小限制
  6. Windows10 中在指定目录下启动Powershell
  7. 在 Lotus Domino 7 应用程序中利用 IBM DB2 集成特性
  8. 454.四数相加II
  9. C语言判断一个数是否为素数
  10. Big5和Gb编码转换
  11. cad2012打开后闪退_【电脑安装好cad一打开闪退】cad安装完打开闪退_cad2012打开闪退...
  12. 慢就是快的人生哲理_关于慢的境界的哲理美文
  13. 【软件工程】软件工程中应用的几种图辨析:系统流程图、数据流图、数据字典、实体联系图、状态转换图、层次方框图、Warnier图、IPO图、层次图、HIPO图、结构图、程序流程图、盒图、PAD图、判定表
  14. android OS 耗电量大,安卓os耗电高怎么解决
  15. 保存在线阅读文件到本地的方法
  16. UE4像素流pixelstream的一些坑
  17. 爱上c++的第六天(核心课程):继承和多态
  18. 网络安全应急响应----10、内存分析
  19. 国产arm服务器性能,国产服务器OS重磅升级:适配国产ARM/x86 性能提升20%
  20. C语言snprintf()函数用法

热门文章

  1. TI蓝牙低功耗技术BLE课程
  2. 2014.12.21nlpir ictclas中文分词系统发布
  3. 一文读懂CPU缓存原理!
  4. java 正则表达式 首尾空格 换行_JAVA 正则表达式匹配空格或换行符
  5. 【全网最全】Vue 组件之间的传值
  6. SQL语句:in、not in与exists、not exists的区别
  7. centos7增加虚拟内存
  8. 未Root设备通过ADB卸载内置系统应用
  9. 异步编程原理以及Java实现
  10. 计算机软考中级那个最简单,软考中级哪个最简单