美文网首页
JavaScript的原型继承

JavaScript的原型继承

作者: 小m_up | 来源:发表于2017-02-08 13:47 被阅读36次

说到继承,只要学过Java的肯定都知道,然而在JavaScript中出现的不是简单的继承两个字,而是原型继承,那么它们是一样的吗?

“原型”是一种抽象,代表事物表象之下的联系,用简单的话来说,就是原型描述事物与事物之间的相似性。就比如说人,人本来是一个对象,女人也是一共对象,女人以人为基础,但是她有自己的属性。原型继承要求你必须有一个对象可以作为另一个对象的基础,这样就可以基于已有的对象创建新的对象,同时还不必因此创建自定义类型,看下面这个函数:

function object(o){
     function F(){}
     F.prototype = o;
     return new F();
}

在object()函数内部,先创建了一个临时性的构造函数,然后将传入的对象作为这个构造函数的原型,最后返回了这个临时类型的一个新的实例,那么继续看下面的:

let person = {
    name : "Tom",
    friends : ["Sam","Coco"]
};
let anotherPerson = object(person);
anotherPerson.name = "Jack";
anotherPerson.friends.push("Bob");
alert(person.friends); // "Sam , Coco , Bob"

这个例子说明将person作为原型,所以它的原型中就包含一个基本类型值和一个引用类型值属性,这意味着person.friends不仅属于person所有,而且会被anotherPerson共享。

所以,原型可以通过描述两个事物之间的相似关系来复用代码,我们可以把这种复用代码的模式称为原型继承。

相关文章

  • 函数的原型对象

    什么是原型? 原型是Javascript中的继承的继承,JavaScript的继承就是基于原型的继承。 函数的原型...

  • 一文带你彻底理解 JavaScript 原型对象

    一、什么是原型 原型是Javascript中的继承的基础,JavaScript的继承就是基于原型的继承。 1.1 ...

  • js原型、原型链、继承的理解

    一、原型、原型链 原型是Javascript中的继承的基础,JavaScript的继承主要依靠原型链来实现的。 原...

  • es5的部分继承以及es6的class

    一、JavaScript常用的原型继承方式 原型链继承 2,构造函数继承(对象冒充继承) 3,组合继承(原型链继承...

  • 【javascript】继承

    javascript只支持实现继承,而且继承主要是依靠原型链来实现的。 原型链 javascript将原型链作为实...

  • JavaScript 原型、原型链与原型继承

    原型,原型链与原型继承 用自己的方式理解原型,原型链和原型继承 javascript——原型与原型链 JavaSc...

  • javascript碎片知识001

    javascript中的对象(原型,原型链) 什么是原型? 原型是JavaScript中的继承的基础,JavaSc...

  • javascript原型链及继承的理解

    javascript:void(null)# 原型链及继承的理解 定义函数 继承 继承构造函数 继承静态属性 继承原型链

  • JavaScript的六种继承方式

    JavaScript的几种继承方式 原型链继承 借助构造函数继承(经典继承) 组合继承:原型链 + 借用构造函数(...

  • 继承

    原型继承原型继承的基本形式: -> 原型继承是JavaScript中最常用的一种继承方式。-> 子类B想要继承父类...

网友评论

      本文标题:JavaScript的原型继承

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