美文网首页
继承与原型链

继承与原型链

作者: 夕阳不西下_ | 来源:发表于2020-07-21 20:09 被阅读0次

一.原型

Object.prototype 属性表示object的原型对象。

当访问一个对象的属性时,它不仅在该对象上搜寻,还会搜寻该对象的原型,以及该对象的原型的原型,依次层层向上搜索,直到找到一个名字匹配的属性或到达原型链的末尾。null 没有原型,并作为这个原型链中的最后一个环节。

let f=function(){this.a=1;this.b=2;}

let o=new f();// {a: 1, b: 2}// 在f函数的原型上定义属性

f.prototype.b=3;

f.prototype.c=4;

console.log(o.a);// 1

console.log(o.b);// 2

console.log(o.c);// 4 属性遮蔽

console.log(o.d);//undefined

二.继承

var o={a:2,m:function(){returnthis.a+1;}};

console.log(o.m());// 3// 当调用 o.m 时,'this' 指向了 o.

var p=Object.create(o);// p是一个继承自 o 的对象

p.a=4;// 创建 p 的自身属性 'a'

console.log(p.m());// 5

// 调用 p.m 时,'this' 指向了 p

// 又因为 p 继承了 o 的 m 函数

// 所以,此时的 'this.a' 即 p.a,就是 p 的自身属性 'a'

三.原型链

1.varo={a:1};

原型链: o ---> Object.prototype ---> null

2.vara=["yo","whadup","?"];

(Array.prototype 中包含 indexOf, forEach 等方法)

原型链: a ---> Array.prototype ---> Object.prototype ---> null

3.函数都继承于 Function.prototype

(Function.prototype 中包含 call, bind等方法)

相关文章

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

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

  • js_继承及原型链等(四)

    js_继承及原型链等(三) 1. 继承 依赖于原型链来完成的继承 发生在对象与对象之间 原型链,如下: ==原型链...

  • 继承

    原型链直接继承 原型链直接继承prototype 原型链继承_prototype属性 继承_构造函数绑定

  • 原型与原型链以及继承

    今天复习下原型与原型链的知识,以及记录新学的继承知识点。 知识点纲要 原型与原型链 es5与es6继承 什么是原型...

  • js中的实现继承的几种方式

    大纲:原型链借用构造函数组合继承原型式继承寄生式继承寄生组合式继承 1、原型链: 什么是原型链? 原型链的基本思想...

  • js基础之实现继承的几种方式

    js 实现继承的方式有: 原型链继承; 构造函数继承; 组合继承(原型链继承 + 构造函数继承)(最常用);(原型...

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

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

  • Javascript继承的原理

    JavaScript的继承是通过原型链继承,与传统面向对象的继承方式不同。 prototype与原型 我们从头开始...

  • 构造函数原型的继承方式分析

    1.通过原型链继承 综上我们可以总结出 通过原型链来实现继承的原理通过原型链来实现继承的原理原型链继承方案中,父类...

  • Javascript 面向对象的程序设计(原型链与继承)

    继承 原型链 讲原型的时候提到过继承,设计原型的初衷就是为了继承,原型链是实现继承的主要方法。那什么是原型链,还记...

网友评论

      本文标题:继承与原型链

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