1. New操作符干了什么(****)
- 创建一个空对象
- 将this指向空对象
- 为对象添加属性和方法
- 饮食返回该对象
2. 静态成员和实例成员(*了解)
1.静态成员:在构造函数本身添加的属性和方法,只能由构造函数本身来访问
2.实例成员:在构造函数内部通过this添加的属性和方法,只能通过实例化的对象来访问
3. 构造函数的缺点
构造函数每实例化一个对象都会创建一个新的内存空间,存在浪费内存的问题
4. 构造函数原型(原型对象)prototype
每一个构造函数都有一个prototype属性,这个prototype是一个对象,这个对象中的方法都会被构造函数所拥有,把不变的方法定义在构造函数的prototype属性上,这样构造函数的实例都可以共享这些方法,解决了构造函数浪费内存的问题
一般情况下 属性定义在构造函数中,方法定义在构造函数的prototype上
5. 对象原型(proto__)
对象原型指向构造函数的原型对象
6. 原型链
是js访问对象的成员是通过原型链查找的 首先会在实例本身查找,如果找不到,会通过实例的__proto__访问构造函数的prototype,如果找不到又会通过构造函数的prototype的__prototype访问Object的prototype,这种通过原型最终形成的链状访问方式称为原型链