目录
一:什么是构造函数?什么是实例?什么是显示原型?什么是隐式原型?
1.所谓的构造函数其实就是一个普通的函数前面加了new运算符,其实质也是一个函数,普通函数有return,构造函数的new代替了return的操作。所有构造函数都有函数的prototype属性。
3.显示原型 prototype和隐式原型__proto__
③构造函数的原型对象(prototype)中有一个constructor构造器,这个构造器指向的就是自己所在的原型对象所在的构造函数
⑤构造函数的原型对象(prototype)中的方法是可以被实例对象直接访问的
5.终极原型链null:构造函数、实例对象、原型、Object、Function之间的关系
⑦所有对象(显示原型就是对象)都是 Object 来 new 的
⑧所有构造函数(有括号的比如Object())都是 Function 来 new 的
(所有函数类型都是Function的实例,Function是Object对象的父级对象)
⑩复杂图解(代入代码,超重点)函数Function和对象Object是由谁创建的?:
一:什么是构造函数?什么是实例?什么是显示原型?什么是隐式原型?
1.所谓的构造函数其实就是一个普通的函数前面加了new运算符,其实质也是一个函数,普通函数有return,构造函数的new代替了return的操作。所有构造函数都有函数的prototype属性。
2.普通函数Computer通过new调用变成构造函数 并赋值给 实例t1
3.显示原型 prototype和隐式原型__proto__
①显示原型prototype
-
为了节省内存,设计prototype来实现属性共享
-
定义一个构造函数时,如果属性和方法是对象独有的,就直接在构造函数中设置,但是如果属性和方法是公共的,每一个对象的值都是相同的,可以通过原型来添加(在上述构造函数的显示原型内添加公共方法palyGame())
-
每一个构造函数身上都有一个属性叫做prototype,是构造函数的显示原型对象
-
当实例(t1)访问一个方法时,如果其自身没有,会顺着实例(t1)的__proto__隐式原型查找,实例对象的隐式原型指向其构造函数(Computer)的显示原型(prototype)就是Computer.prototype
②隐式原型__proto__
- 构造函数的实例里面的原型叫做隐式原型为:__proto__