美文网首页饥人谷技术博客
JS里的原型与原型链

JS里的原型与原型链

作者: 不爱举铁的伪文青不是好前端 | 来源:发表于2019-02-08 23:52 被阅读3次

原型

原型和原型链的目的是解决构造函数生成的对象内共同属性重复生成的问题,使其更高效。在下面这个例子里每次生成一个实例对象都要生成一个mmm方法,没有必要,完全可以共享。

构造函数生成的对象称为实例对象

function Person(name,gender){
  this.name = name
  this.gender = gender
  this.mmm = function reader(){
    console.log('hello world')
  }
}

var person1 = new Person(Jack,male)
var person2 = new Person(Lucy,female)

person1person2是构造函数Person生成的两个实例对象

function Person(name,gender){
  this.name = name
  this.gender = gender
 }
Person.prototype.mmm = function reader(){
    console.log('hello world')
  }
var person1 = new Person(Jack,male)
var person2 = new Person(Lucy,female)

person1.mmm // 'hello world'
person2.mmm // 'hello world'

上面例子里构造函数Personprototype属性就是person1person2的原型对象,原型对象添加一个mmm属性,两个实例对象都共享这个属性。

原型链

JS里面规定所有对象都有自己的原型对象,而原型对象也是对象因此也有自己的原型对象,而且任何一个对象都可以充当其他对象的原型,因此会形成一个原型链

如果一层层上溯,所有对象的原型都可以追溯到Object.prototype,既Object构造函数的prototype属性,也就是说所有的属性都继承了Object.prototype的属性,这就是所有对象都有valueOf()toString()方法的原因,因为这两个方法在Object.prototype里面。
需要注意Object.prototype的原型是null

kNwh5R.md.png
String.prototype是String公用属性引用(防止被垃圾回收)

相关文章

  • 廖雪峰JS小记

    (function(){})() 原型,原型链 浅谈Js原型的理解JS 原型与原型链终极详解 对象 对象:一种无序...

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

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

  • JS原型链

    1什么是JS原型链? 通过__proto__属性将对象与原型对象进行连接. 1.1 JS原型链的作用? 组成的一个...

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

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

  • web前端面试之js继承与原型链(码动未来)

    web前端面试之js继承与原型链(码动未来) 3.2.1、JavaScript原型,原型链 ? 有什么特点? 每个...

  • JS里的原型与原型链

    首先在我们一行代码也没写的时候,在js分到的内存中,数据区内存是什么样的呢? 浏览器会有一个全局变量window,...

  • JS里的原型与原型链

    原型 原型和原型链的目的是解决构造函数生成的对象内共同属性重复生成的问题,使其更高效。在下面这个例子里每次生成一个...

  • JS的__proto__和prototype

    最近在回顾JS的原型和原型链的知识,熟悉JS的同学都知道JS的继承是靠原型链实现的,那跟原型链相关的属性__pro...

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

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

  • JS闭包问题(一)

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

网友评论

    本文标题:JS里的原型与原型链

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