美文网首页
记录原型理解

记录原型理解

作者: 果好鲜 | 来源:发表于2019-06-14 17:31 被阅读0次
  • 每个构造函数,默认都有个prototype属性。因为构造函数其实是一个普通的函数,所以可以说每一个函数都有一个protoype属性。
function Person(){

}
Person.prototype   // 构造函数的原型对象 Person {}

因为没有设置过构造函数的原型,所以默认是可以个空对象。

  • 每一个prototype都一个constructor属性,指向该构造函数。
function Person(){

}
Person.prototype.constructor   //  [Function: Person]
  • 每一个通过构造函数new出来的实例,都有一个proto指向构造函数的原型即prototype
function Person(){

}
var p1 = new Person();
p1.__proto__ === Person.prototype  // true
  • 当创建的实例后,对原型的属性的修改,实例也会更新,因为实例的地址还是指向同一个原型;但是如果对原型重新赋值为另外一个对象,则不会,导致实例已经和构造函数的原型不一致。
function Person(){

}
var p1 = new Person();
// 对构造函数的原型对象添加属性
Person.prototype.name = 'hello world';
p1.name === 'hello world' // true
// 对构造函数的原型对象重新赋值为另外一个对象
Person.protoype = {name: 'new name'}
p1.name === 'new name'  // false

相关文章

  • 记录原型理解

    每个构造函数,默认都有个prototype属性。因为构造函数其实是一个普通的函数,所以可以说每一个函数都有一个pr...

  • 原型、原型链

    理解JavaScript原型 彻底理解JavaScript原型 原型 原型是一个对象,所有对象都可以成为原型,其...

  • 简单理解javascript中的原型和原型链

    今天理解了js中的原型和原型链相关的知识,在此做一下简单的记录。 其中有几个关键点需要记录: 所有的引用类型(数组...

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

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

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

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

  • 廖雪峰JS小记

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

  • 简单认识 JS 原型与原型链

    原型是JavaScript中一个比较难理解的概念, 为深入理解JavaScript 中的原型、原型链,整理下思路。...

  • JavaScript 原型hook实现

    基于原型的hook实现: 从中理解是JavaScript 基于原型

  • 再来看一次JS继承

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

  • Prototype

    原型链理解图

网友评论

      本文标题:记录原型理解

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