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 构造器的原型对象中去找,这个就是原型链。


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

查看所有标签

猜你喜欢:

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

大数据日知录

大数据日知录

张俊林 / 电子工业出版社 / 2014-9 / 69.00元

大数据是当前最为流行的热点概念之一,其已由技术名词衍生到对很多行业产生颠覆性影响的社会现象,作为最明确的技术发展趋势之一,基于大数据的各种新型产品必将会对每个人的日常生活产生日益重要的影响。 《大数据日知录:架构与算法》从架构与算法角度全面梳理了大数据存储与处理的相关技术。大数据技术具有涉及的知识点异常众多且正处于快速演进发展过程中等特点,其技术点包括底层的硬件体系结构、相关的基础理论、大规......一起来看看 《大数据日知录》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码