prototype原型

栏目: 编程语言 · 发布时间: 6年前

内容简介:当程序加载

1、prototype介绍

  • 功能:返回对象类型原型的引用
  • 格式:Class.prototype

2、快速入门

prototype原型

注意:

Person.prototype.age 不是 Person.age

Person.prototype.age 是指为 Person 类下的实例添加的 age 属性

Person.age 是指为 Person 类添加的静态属性

3、原理

prototype原型

当程序加载 Person 函数时,会为 Person 构造器创建 Person 原型对象,它们是独立存在的。构造器中有一个 prototype 属性指向了原型对象,原型对象中有一个 constructor 属性指向构造器,当 Person 类的实例在使用一个不存在的属性时,就会自动到 Person 构造器的原型对象中去找。

p1.constructor : p1 对象中没有 constructor 属性,所以会到 Person 构造器的原型对象中去找,原型对象中的 constructor 指向了 Person 构造器,所以最后返回的是构造器。

问题:增加 p3.age=20 ,那么 p1.age 的值是多少?

prototype原型

p3.age 相当于为 p3 对象动态添加了一个叫 age 的属性,但没有改变 Person 原型对象中的 age 的值,之后 p3 不用去原型对象中找 age 属性了, p1 仍然没有 age 属性,所以仍然去找原型对象中的 age 属性。

4、原型继承

所有类的父类都是 Obeject 类,为什么?

问题:

原型是什么?

原型是对象,它是 Object 类的实例。

当系统为 Person 构造器创建原型对象时,会执行这样一条语句:

Person.prototype=new Object() ,也就是说,这个原型是 Object 的一个实例。那么, Object 类下的所有属性和方法会被这个原型对象所拥有。 Person 下的实例就可以通过这个原型对象使用这些属性和方法,所以说, Object 是所有类的父类。

5、原型链

prototype原型

Person 原型对象也是对象,当这个对象找不到某个属性时,会到 Object 构造器的原型对象中去找,这个就是原型链。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

凸优化

凸优化

Stephen Boyd、Lieven Vandenberghe / 王书宁、许鋆、黄晓霖 / 清华大学出版社 / 2013-1 / 99.00元

《信息技术和电气工程学科国际知名教材中译本系列:凸优化》内容非常丰富。理论部分由4章构成,不仅涵盖了凸优化的所有基本概念和主要结果,还详细介绍了几类基本的凸优化问题以及将特殊的优化问题表述为凸优化问题的变换方法,这些内容对灵活运用凸优化知识解决实际问题非常有用。应用部分由3章构成,分别介绍凸优化在解决逼近与拟合、统计估计和几何关系分析这三类实际问题中的应用。算法部分也由3章构成,依次介绍求解无约束......一起来看看 《凸优化》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具