美文网首页
js高级程序设计笔记14

js高级程序设计笔记14

作者: ycyc1996 | 来源:发表于2018-04-04 00:55 被阅读0次

继承

1.确定原型与实例的关系

a instacheof Object //true

2.借用构造函数继承

function SuperType(){
  ...
}

function SubType() {
  SuperType.call(this,a,b,c...);
  //在继承的类的构造函数中调用超类的构造方法,得到相同的实例属性
}
3.组合继承
function SuperType(){
  ...
}

function SubType(age) {
  SuperType.call(this,a,b,c...);
  ths.age = age
}
4.原型式继承
function object(o){
  function F(){}
  F.prototype = o;
  return new F();
}

var person = {
  name :  'Tom',
}

var a = object(person)

//ES5 var a = Object.create(person,{
  name: 'Petter',
})
5.寄生式继承
function createAnother(o){
  var o1 == object(o);
  o1.sayHi = function(){
    alert('  h i')
  }

  return o1;
}

//寄生式继承是对原型式继承的一种增强
6.组合寄生
function SubType(age){
  SuperType.call(this,a,b,c)
  this.age = age;
}
function inheritPrototype(subType,superType){
  var p = object(superType.prototype) //创建一份原型对象的副本
  p.constructor = SubType;
  SubType.prototype = p;
  //这样SubType()就指向了超类的一个副本,好处是只需要调用一次构造函数,无需创建额外的对象
  
}

相关文章

  • js高级程序设计笔记14

    继承 1.确定原型与实例的关系 2.借用构造函数继承 3.组合继承 4.原型式继承 5.寄生式继承 6.组合寄生

  • JS转义字符

    摘自《JS高级程序设计》

  • js中的arguments对象

    《JavaScript高级程序设计》读书笔记 js中函数的参数与别的语言的参数有些不同。js中的函数不介意传递进来...

  • 前端知识体系

    1.JS基础 5 2.JS高级 5JS高级程序设计,各种api的应用,es6新增api的运用 3.CSS...

  • 《高性能javascript》读书笔记

    标签:前端 读书笔记 简介 《javascript高级程序设计》的作者写的书,主要内容就是从各方面入手提升JS程...

  • Books

    一 JS书籍推荐JS高级程序设计 (望远镜)JS工作原理犀牛书二、行业书籍《人月神话》

  • 正则表达式

    JS高级技巧 本篇是看的《JS高级程序设计》第23章《高级技巧》做的读书分享。本篇按照书里的思路根据自己的理解和经...

  • 执行环境和作用域

    《JavaScript高级程序设计》读书笔记 执行环境是js中最为重要的一个概念。执行环境定义了变量或函数有权访问...

  • js高级程序设计——第三章 基本概念(2)

    2021-08-08学习笔记 今天周日,天气晴,居家隔离第11天,闲来无聊,重温js高级程序设计(第三章); 生命...

  • js高级程序设计——第三章 基本概念(1)

    2021-08-07 学习笔记 今天周六,天气阴,居家隔离第10天,闲来无聊,重温js高级程序设计(第三章); 生...

网友评论

      本文标题:js高级程序设计笔记14

      本文链接:https://www.haomeiwen.com/subject/dkgchftx.html