构造函数
构造函数就是可以构造出对象的函数
- 构造函数X
X函数本身负责给对象本身添加属性
X.prototype对象负责保存对象的共有属性
new
- new X()自动做了四件事情
自动创建空对象
自动为空对象关联原型,原型地址为X.prototype
自动将空对象作为this关键字构建函数
自动return this
原型与公共函数的关系
prototype存的是原型的地址
你是谁构造的 你的原型就是谁的prototype属性对应的对象
原型公式
对象.proto===其构造函数.prototypeObject.prototype是哪个函数构造出来的 不知道
他的原型是什么 没有原型
Object。prototype.proto的值是null
对象需要分类
- 理由一:
有很多对象拥有一样的属性和行为,需要把他们分为一类,这样创建类似的对象就很方便 - 理由二:
但是还有很多对象拥有其他的属性和行为,所以就不需要分类
终极疑问
- window是谁构造出来的
Window 可以通过constructor属性看出构造者 - window.Object是谁构造的
window.Function 因为所有函数都是window.Function构造的 - window.Function是谁构造的
window.Function
以为所有函数都是由window.Function构造的,浏览器构造了Function然后指定他的构造者是自己
注意
Object.prototype不是object的原型,下划线proto才是object的原型
记住公式:x.原型等价于x.下划线proto
本文为张歆辉的原创文章,著作权归本人和饥人谷所有,转载务必注明来源