1.构造函数
构造函数是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与new一起使用。我们可以把对象中一些公共的属性和方法抽取出来,然后封装到这个函数里面。
在JS中,使用构造函数时要注意以下两点:
1. 构造函数用于创建某一类对象,其首字母要大写
2.构造函数要和new一起使用才有意义
new 在执行时会做四件事情:
① 在内存中创建一个新的空对象。
2 让this指向这个新的对象。
③执行构造函数里面的代码,给这个新对象添加属性和方法。
4返回这个新对象(所以构造函数里面不需要retum)。
2.构造函数创建对象
构造函数的属性和方法我们成为成员
3.构造函数原型 prototype
构造函数通过原型分配的函数是所有对象所共享的。
JavaScript规定,每一个构造函数都有一个prototype属性,指向另一个对象。注意这个prototype就是一个对象,这个对象的所有属性和方法,都会被构造函数所拥有。
我们可以把那些不变的方法,直接定义在prototype对象上,这样所有对象的实例就可以共享这些方法。
1.原型是什么?
一个对象,我们也称为prototype为原型对象。
2.原型的作用是什么?
共享方法。(一般情况下,我们把公共属性定义在构造函数里,公共方法定义到原型对象里)
4.对象原型 __proto__
对象身上系统自己添加一个 __proto__ 指向我们构造函数的原型对象(prototype)
5.constructor属性
constructor属性 在构造函数的原型对象未被重写时默认指向的是调用它的构造函数
很多情况下,需要我们手动指定返回。
6.构造函数 原型对象 对象实例 的关系
原型链