美文网首页
关于js原型链和类继承的理解

关于js原型链和类继承的理解

作者: EchoChan | 来源:发表于2016-08-13 19:42 被阅读0次

了解过 javascript 的人基本都知道JS继承的其它语言的继承是有些不一样的,其它的语言的继承是基于类的继承,而JS的继承是基于原型的继承。

基于类的继承和基于原型的继承有什么差别呢?

JavaScript 是基于原型的语言。当我们调用一个对象的属性时,如果对象没有该属性,JavaScript解释器就会从对象的原型对象上去找该属性,如果原型上也没有该属性,那就去找原型的原型。这种属性查找的方式被称为原型链(prototype chain)。

而基于类的继承,新建的子类从一个或多个父类那里获得父类的特性,实例再从子类获得特性。而实例一旦产生,将无法通过修改类的结果来影响它。

而JS的继承,可以修改对象的原型,也可以修改原型的原型属性,而且是动态改变实例对象的属性。

而JS中原型继承的实现有3种方法,它们是在不同规范、不同场景下的产物,但都可以实现原型继承。具体选那种看应用的场景。

在原型继承中,prototype 是一个原型对象的一个对象属性,而在这个对象属相上又有自己的属相。这些概念绕来绕去是比较容易混淆的。

proto 是一个指向对象原型的prototype的应用,可以动态改变它的指向。

最后在说一下,JS的原型对象的几个概念及其关系容易混淆,应该深入了解它们的关系才能更好地记忆这个知识点。

相关文章

  • 关于js原型链和类继承的理解

    了解过 javascript 的人基本都知道JS继承的其它语言的继承是有些不一样的,其它的语言的继承是基于类的继承...

  • JS继承

    JS继承的几种实现方式 继承是指子类继承父类的属性和方法,要实现继承,首先我们需要有一个父类 原型链继承 原型链继...

  • 2018-01-09 关于javascript原型链的思考 pl

    s 深入理解原型和原型链? 构造函数 理解原型和原型链 new的时候js都干了什么? 一个实现继承的demo 构造...

  • 关于JS中的原型和原型链

    目录 关于js 对象和原型 原型链 基于原型链的继承 参考资料ECMAScript 6 入门JavaScript原...

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

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

  • js 继承的三种方式构造函数、原型链、组合继承

    第一种方式:js使用构造函数的继承。 缺点:无法继承父类的原型链。 // 构造函数继承 缺点:没有继承原型链 fu...

  • 再来看一次JS继承

    原型链继承 理解原型链的概念 用一张图来理解原型链再合适不过了。 总结概括JS红宝书上对原型链的概念:每个函数都有...

  • js实现继承的几种方式

    js实现继承有几种方式,这里我们主要探讨 原型链继承 构造继承 组合继承(原型链和构造继承组合到一块,使用原型链实...

  • js对象的继承

    js继承的实现方式 原型链继承 将父类的实例作为子类的原型,向子类的原型链中去构建一个父类的实例。 特点:1.非常...

  • #js继承

    js继承的概念 js里常用的如下两种继承方式: 原型链继承(对象间的继承)类式继承(构造函数间的继承) 类式继承是...

网友评论

      本文标题:关于js原型链和类继承的理解

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