当前位置:首页 > 编程教程 > javascript技术文章 > 基于构造函数的五种继承方法小结

分享构造函数的五种继承方法

  • 发布时间:
  • 作者:码农之家
  • 点击:150

这篇文章主要知识点是关于js、构造函数、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

同构JavaScript应用开发
  • 类型:JavaScript大小:10.4 MB格式:PDF作者:杰森·史特林贝尔(Jason Strim
立即下载

Tags:JS 构造函数 

基于构造函数的五种继承方法小结

1.使用call或apply绑定构造函数

  animal.apply(this.arguments)

2.使用prototype属性  

  Cat.prototype = new Animal();

  Cat.prototype.constructor = Cat;

  var cat1 = new Cat("大毛","黄色");

  alert(cat1.species); // 动物

3.直接集成prototype属性

  function Animal(){ }

  Animal.prototype.species = "动物";

 

  Cat.prototype = Animal.prototype;

  Cat.prototype.constructor = Cat;

  var cat1 = new Cat("大毛","黄色");

  alert(cat1.species); // 动物

4.利用空对象作为中介

  var F = function(){};

  F.prototype = Animal.prototype;

  Cat.prototype = new F();

   Cat.prototype.constructor = Cat;

  将上面的方法封装成一个函数,便于使用:

    function extend(Child, Parent) {

      var F = function(){};

      F.prototype = Parent.prototype;

      Child.prototype = new F();

      Child.prototype.constructor = Child;

      Child.uber = Parent.prototype;

    }

5.拷贝继承

function extend2(Child, Parent) {

    var p = Parent.prototype;

    var c = Child.prototype;

    for (var i in p) {

      c[i] = p[i];

      }

    c.uber = p;

  }

这个函数的作用,就是将父对象的prototype对象中的属性,一一拷贝给Child对象的prototype对象。

以上这篇基于构造函数的五种继承方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

javascript 相关电子书
学习笔记
网友NO.207438

详解JS构造函数中this和return

先看一段代码, function Foo(name,age){ this.name=name; this.age=age;}var foo=new Foo("Tom",14);foo.name;//Tomfoo.age;//14 使用构造函数实例化发生的流程: 1.建立一个foo的空对象。 2.将构造函数中的Foo的this指向对象foo。 3.foo的_proto_属性指向Foo函数的prototype原型。 4.执行构造函数中的代码。 相对于普通函数,构造函数中的this是指向实例的,而普通函数调用中的this是指向windows的。 构造函数中如果加入了return的话,分两种情况 function Foo(name,age){ this.name=name; this.age=age; return {name:"Jeff"}}var foo=new Foo("Tom",14);foo.name;//Jeff 1.return的是五种简单数据类型:String,Number,Boolean,Null,Undefined。 这种情况下,忽视return值,依然返回this对象。 2.return的是Object。 这种情况下,不再返回this对象,而是返回return语句的返回值。 总结 以上所述是小编给大家介绍的JS构造函数中this和return,希望对大……

网友NO.720113

JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】

本文实例讲述了JS中创建自定义类型的常用模式。分享给大家供大家参考,具体如下: 虽然在 ES6 中,已经出了 class 的语法,貌似好像不用了解 ES5 中的这些老东西了,但是越深入学习,你会发现理解这些模式的重要性。 在本文中,我会描述 7 种常用的创建自定义类型的模式: 工厂模式、构造函数模式、原型模式、组合使用构造函数模式、动态原型模式、寄生构造函数模式、稳妥构造函数模式 。分别给出他们的示例代码,并分析他们的利弊,方便读者选择具体的方式来构建自己的自定义类型。 最后,我会指出 ES6 中的 class 语法,本质上其实还是利用了组合使用构造函数模式进行创建自定义类型。 1. 工厂模式 废话不多说,先上工厂模式的实例代码: function createPerson(name, age, job){ var o = new Object(); // 创建对象 o.name = name; // 赋予对象细节 o.age = age; // 赋……

网友NO.535362

js实现轮播图的两种方式(构造函数、面向对象)

本文实例为大家分享了js实现轮播图的具体代码,供大家参考,具体内容如下 1、构造函数 !DOCTYPE htmlhtml head meta charset="UTF-8" title/title style type='text/css' *{ margin:0; padding:0;} #wrap{ width:500px; height:360px; margin:100px auto; position:relative; } #pic{ width:500px; height:360px; position:relative; } #pic img{ width: 100%; height: 100%; position:absolute; top:0; left:0; display:none; } #tab{ width:105px; height:10px; position:absolute; bottom:10px; left:50%; margin-left:-50px; } #tab ul li{ width:10px; height:10px; margin:0 5px; background:#bbb; border-radius:100%; cursor:pointer; list-style:none; float:left; } #tab ul li.on{ background:#f60;} #btn div{ width:40px; height:40px; position:absolute; top:50%; margin-top:-20px; color:#fff; background:#999; background:rgba(0,0,0,.5); font-size:20px; font-weight:bold; font-family:'Microsoft yahei'; line-height:40px; text-align:center; cursor:pointer; } #btn div#left{ left:0;} #btn div#right{ rig……

网友NO.772336

js核心基础之构造函数constructor用法实例分析

本文实例讲述了js核心基础之构造函数constructor用法。分享给大家供大家参考,具体如下: 在js中,可以利用构造函数来创建特定类型的对象,其中,有一些原生的构造函数,Object、Array、等等,所以,当type of Object时,返回的是function。此外,我们还可以创建自定义的构造函数,从而自定义对象的属性以及方法。 例如: function Person(name,age,job) { this.name=name; this.age=age; this.job=job; this.sayName=function () { alert(this.name); }}var person1=new Person('zhy',18,'SoftWare Engineer');var person2=new Person('zhy2',19,'Doctor'); 注意:要创建Person的新实例,必须使用new操作符。如果不使用new,则属性和方法都被添加给了window对象了。 这种方式调用构造函数实际上会经历一下4个步骤: ① 创建一个新对象; ② 将构造函数的作用域赋给新对象,因此,this就指向了这个新对象; ③ 执行构造函数中的……

<
1
>

电子书 编程教程 PC软件下载 安卓软件下载

Copyright 2018-2020 xz577.com 码农之家

本站所有电子书资源不再提供下载地址,只分享来路

免责声明:网站所有作品均由会员网上搜集共同更新,仅供读者预览及学习交流使用,下载后请24小时内删除

版权投诉 / 书籍推广 / 赞助:QQ:520161757