什么是对象
- 单个实物的抽象
- 是一个容器,封装了属性和方法,属性是对象的状态,方法是对象的行为。
构造函数
JS语言的对象体系,基础构造函数(constructor)和原型链(prototype)。
构造函数
就是专门用来生成实例对象的函数,它就是对象的模板,描述实例对象的基本结构 。
- 为了与普通函数区分,构造函数的首字母通常大写
- 生成对象的时候 必须使用new命令
- 函数体内部使用了this关键字,代表了所要生成的对象实例
new命令
let Yu = function(val){
this.price = val;
};
let zhongxiaoyu = new Yu(10000);// new命令本身就可以执行构造函数,所以后面的()可省,但不建议这么写
zhongxiaoyu.price; // 10000
new命令原理
使用new
命令时函数依次执行下面步骤:
- 创建一个空对象,作为将要返回的对象实例。
- 将这个空对象的原型,指向构造函数的
prototype
属性。 - 将这个空对象赋值给函数内部的
this
关键字。 - 开始执行构造函数内部的代码
也就是说,构造函数内部,
this
指的是一个新生成的空对象,所有针对this
的操作,都会发 生在这个空对象上。构造函数之所以叫“构造函数”,就是说这个函数的目的,就是操作一个空对象(即this
对象),将其“构造”为需要的样子。
- 如果构造函数内部有`