javascript 中对象的继承〔转贴〕

以下是javascript中对象的继承攻略:

1. 继承的概念

在Javascript中,可以通过继承的方式来实现代码的复用性。继承是一种以已有类(或对象)为基础,创建新类(或对象)的技术,新创建的类或对象具有已有类(或对象)的属性和行为。

2. 原型链继承

原型链继承是Javascript中最基础的继承方式,它的原理就是通过让一个构造函数的原型指向另一个构造函数的实例来实现继承。

下面是一个通过原型链继承实现的示例:

function Person(name, age) {
    this.name = name;
    this.age = age;
}

Person.prototype.sayName = function() {
    console.log("My name is " + this.name);
}

function Student(name, age, score) {
    this.score = score;
}

Student.prototype = new Person();

var tom = new Student("Tom", 18, 90);
tom.sayName(); // 输出 "My name is Tom"

在上面的例子中,我们定义了两个构造函数:PersonStudentPerson表示人员基类,拥有nameage两个属性,以及sayName方法。StudentPerson的子类,同时拥有score属性,通过原型链从Person中继承了属性和方法。其中,通过将Student.prototype指向一个Person实例来实现继承。

3. 借用构造函数继承

借用构造函数继承又称为经典继承,它的实现原理是在子类构造函数中调用父类构造函数,通过callapply方法改变上下文,从而实现属性的继承。

下面是一个通过借用构造函数继承实现的示例:

function Person(name, age) {
    this.name = name;
    this.age = age;
}

function Student(name, age, score) {
    Person.call(this, name, age);
    this.score = score;
}

var tom = new Student("Tom", 18, 90);
console.log(tom.name); // 输出 "Tom"
console.log(tom.age);  // 输出 18
console.log(tom.score);// 输出 90

在上面的例子中,我们同样定义了PersonStudent这两个构造函数,但是在Student中调用了Person的构造函数,并且将this指向了当前的Student实例,这样就实现了属性的继承。

总结

在Javascript中,继承是实现代码复用的重要方法,可以通过原型链继承和借用构造函数继承两种方式来实现。其中,原型链继承适合通过实例方法和原型属性实现继承,而借用构造函数继承适合通过实例属性和方法实现继承。我们可以根据具体的情况选择不同的继承方式来实现代码的复用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript 中对象的继承〔转贴〕 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • js遍历子节点子元素附属性及方法

    遍历子节点和子元素是JavaScript和DOM中常用的操作之一。以下是详细讲解“js遍历子节点子元素附属性及方法”的完整攻略。 1. 获取父元素中的所有子节点 在DOM中,获取父元素中的所有子节点可以使用childNodes属性。该属性会返回一个列表,其中包含父元素中的所有子节点。但是需要注意,这个列表可能包含空格和文本节点,因此我们需要对其进行处理,只获…

    JavaScript 2023年6月10日
    00
  • 关于cookie的初识和运用(js和jq)

    关于cookie的初识和运用 在网站开发中,Cookie是一种存储在客户端的小数据片段。本文将介绍如何使用JavaScript和jQuery来创建、读取和删除cookie,以及cookie的相关注意事项。 创建cookie 我们先来看一下如何在JavaScript和jQuery中创建cookie。 使用JavaScript创建cookie 可以使用docum…

    JavaScript 2023年6月11日
    00
  • js创建数组的简单方法

    当我们需要在JavaScript程序中储存一组数据时,往往会使用数组这种数据结构。那么,如何在JavaScript中创建一个数组呢?接下来,我将为你讲解几种简单易用的方法。 直接使用方括号 [ ] 我们可以直接使用方括号来创建一个数组,数组的每一个元素通过逗号进行分割。 let arr = [1, 2, 3, 4, 5]; console.log(arr);…

    JavaScript 2023年5月27日
    00
  • JavaScript 中级笔记 第一章

    JavaScript 中级笔记 第一章攻略 简介 本章节主要介绍了一些 JavaScript 的高级概念。其中包括了 JavaScript 中的函数,作用域,闭包与 this 等高级特性。本章给出了这些高级特性在 JavaScript 中的实现方法,加深了读者对 JavaScript 中这些概念的理解。 JavaScript 函数 JavaScript中的函…

    JavaScript 2023年5月18日
    00
  • JavaScript中关于数组的调用方式

    JavaScript中的数组是一组值的有序集合,可以通过数字索引来访问这些值。在JavaScript中,数组可以通过几种不同的方式来创建和访问。 创建数组 JavaScript中的数组可以通过以下两种方式来创建: 直接使用方括号[]来创建一个空数组,如下所示: const arr1 = []; 使用方括号[]并在其中包含数组元素,如下所示: const ar…

    JavaScript 2023年5月27日
    00
  • JavaScript截断字符串的方法

    当需要在JavaScript中处理字符串时,很可能会遇到需要截断字符串的情况。以下是几种JavaScript截断字符串的方法: 1. substring函数 substring()是JavaScript中截断字符串最常用的函数之一。语法如下: string.substring(start, end) string是要进行截断的字符串。 start是子字符串的…

    JavaScript 2023年5月28日
    00
  • angularJs中datatable实现代码

    下面给出AngularJS中datatable实现代码的完整攻略,这里使用的是AngularJS版本为1.x,实现过程中需要使用一些第三方库来支持。攻略分成以下几个步骤: 步骤一 安装必需的依赖 在开始之前,你需要在本地安装以下库: jQuery:用于操作DOM和事件处理 Bootstrap:用于样式 AngularJS:主要的MVC框架 <!– j…

    JavaScript 2023年6月11日
    00
  • 一分钟学会JavaScript中的try-catch

    下面是一分钟学会JavaScript中的try-catch的完整攻略。 什么是try-catch try-catch 是 JavaScript 中用来处理异常的一种语句结构。当在 try 块中发生了异常时,该块中代码的执行就会停止,并且 JavaScript 引擎会抛出一个 Exception(异常)。这时就需要在代码中使用 catch 块来捕获这个异常并处…

    JavaScript 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部