美文网首页
一篇文章彻底搞定js原型链

一篇文章彻底搞定js原型链

作者: 2c半度虚华 | 来源:发表于2019-12-22 20:44 被阅读0次

首先我们创造一个构造函数


  function Person(){

  }
  console.log(typeof Person); //function
  var person=new Person();
  console.log(typeof person); //object

Person是一个构造函数,我们可以通过new得到一个对象person,他们之间通过prototype和constructor进行连接,其中prototype是函数才有的属性,每一个实例原型都有一个constructor。最后每一个JS对象都会有一个属性叫proto,这个属性会指向对象的实例原型。


function Person() {

}
// 虽然写在注释里,但是你要注意:
// prototype是函数才会有的属性
Person.prototype.name = 'Kevin';
var person1 = new Person();
var person2 = new Person();
console.log(person1.name) // Kevin
console.log(person2.name) // Kevin

console.log(Person === Person.prototype.constructor); // true
var person = new Person();
console.log(person.__proto__ === Person.prototype); // true

通过上面的代码可以知道如下流程


关系图

)

function Person() {

}

Person.prototype.name = 'Kevin';

var person = new Person();

person.name = 'Daisy';
console.log(person.name) // Daisy

delete person.name;
console.log(person.name) // Kevin

另外,通过上面的代码我们可以知道当我们删除了 person 的 name 属性时,读取 person.name,从 person 对象中找不到 name 属性就会从 person 的原型也就是 person.proto ,也就是 Person.prototype中查找,幸运的是我们找到了 name 属性,结果为 Kevin。

最后这些只是我个人的理解,有错误希望能有所体谅,希望我的文章能对各位会有所帮助。。。

相关文章

  • 一篇文章彻底搞定js原型链

    首先我们创造一个构造函数 Person是一个构造函数,我们可以通过new得到一个对象person,他们之间通过pr...

  • JS闭包问题(一)

    之前我写过一篇JavaScript原型与原型链的文章,此属于JS中的重难点。 而闭包,是JS中除了原型链之外又一个...

  • Javascript 继承机制

    一篇文章理解JS继承——原型链/构造函数/组合/原型式/寄生式/寄生组合/Class extendshttps:/...

  • JS 中的继承

    推荐文章:一篇文章理解JS继承——原型链/构造函数/组合/原型式/寄生式/寄生组合/Class extends[h...

  • Javascript(三)之原型继承理解

    进阶路线 3 原型继承 3.1 优秀文章 最详尽的 JS 原型与原型链终极详解 一 最详尽的 JS 原型与原型链终...

  • javascript的原型链解读

    关于原型链的调用原理 只要明白js里访问一个对象的方法或属性的过程,就能彻底搞明白js的原型链。(首先要明确,js...

  • JS原型和原型链

    文章序 为了彻底搞清楚JS的原型和原型链以及prototype和proto这两个属性,故在此做详细总结并举例,首先...

  • js继承(原型链、构造、组合、寄生组合)

    参考自:一篇文章理解JS继承——原型链/构造函数/组合/原型式/寄生式/寄生组合/Class extends本文是...

  • 从实现角度分析js原型链

    从实现角度分析js原型链 欢迎来我的博客阅读:《从实现角度分析js原型链》 网上介绍原型链的优质文章已经有很多了,...

  • 在nodejs中面向对象:Bearcat

    JS中的面向对象 最最最开始,我们先来说说JS中的面向对象。 原型链 参考文章:图解Javascript原型链 J...

网友评论

      本文标题:一篇文章彻底搞定js原型链

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