内容简介:当程序加载
1、prototype介绍
- 功能:返回对象类型原型的引用
- 格式:Class.prototype
2、快速入门
注意:
Person.prototype.age
不是
Person.age
Person.prototype.age
是指为 Person
类下的实例添加的 age
属性
Person.age
是指为 Person
类添加的静态属性
3、原理
当程序加载 Person
函数时,会为 Person
构造器创建 Person
原型对象,它们是独立存在的。构造器中有一个 prototype
属性指向了原型对象,原型对象中有一个 constructor
属性指向构造器,当 Person
类的实例在使用一个不存在的属性时,就会自动到 Person
构造器的原型对象中去找。
p1.constructor
: p1
对象中没有 constructor
属性,所以会到 Person
构造器的原型对象中去找,原型对象中的 constructor
指向了 Person
构造器,所以最后返回的是构造器。
问题:增加 p3.age=20
,那么 p1.age
的值是多少?
p3.age
相当于为 p3
对象动态添加了一个叫 age
的属性,但没有改变 Person
原型对象中的 age
的值,之后 p3
不用去原型对象中找 age
属性了, p1
仍然没有 age
属性,所以仍然去找原型对象中的 age
属性。
4、原型继承
所有类的父类都是 Obeject
类,为什么?
问题:
原型是什么?
原型是对象,它是 Object
类的实例。
当系统为 Person
构造器创建原型对象时,会执行这样一条语句:
Person.prototype=new Object()
,也就是说,这个原型是 Object
的一个实例。那么, Object
类下的所有属性和方法会被这个原型对象所拥有。 Person
下的实例就可以通过这个原型对象使用这些属性和方法,所以说, Object
是所有类的父类。
5、原型链
Person
原型对象也是对象,当这个对象找不到某个属性时,会到 Object
构造器的原型对象中去找,这个就是原型链。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Google将带来什么?
杰夫·贾维斯 / 陈庆新、赵艳峰、胡延平 / 中华工商联合出版社 / 2009-8 / 39.00元
《Google将带来什么?》是一本大胆探索、至关重要的书籍,追寻当今世界最紧迫问题的答案:Google将带来什么?在兼具预言、宣言、思想探险和生存手册性质的这样一《Google将带来什么?》里,互联网监督和博客先锋杰夫·贾维斯对Google这个历史上发展速度最快的公司进行了逆向工程研究,发现了40种直截了当、清晰易懂的管理与生存原则。与此同时,他还向我们阐明了互联网一代的新世界观:尽管它具有挑战性......一起来看看 《Google将带来什么?》 这本书的介绍吧!
JSON 在线解析
在线 JSON 格式化工具
html转js在线工具
html转js在线工具