面向对象的创建方式有如下几种?
1 、字面量方式创建对象:
var obj = {
//1.添加属性 描述
'sex':'女',
//2.添加方法 行为
buy:function () {
console.log('买搓衣板');
}
}
2、实例创建对象:(代码冗余)
var obj = new Object();
//1.添加属性
obj.name = '小华';
//2.添加方法
obj.skill = function () {
console.log('敲代码');
}
3、工厂模式创建对象:(结构不明确)
function createObject(name) {
var obj = new Object(); //1.创建对象
obj.name = name; //2.添加属性
obj.skill = function () { //3.添加方法
console.log('敲代码');
}
return obj; //4.返回创建好的对像 }
4、 构造函数创建对象
① 构造函数创建对象:(浪费内存)
② 函数名首字母大写,使用this添加属
性和方法,调用的时候前面必须加new
③ 构造函数的执行过程:
1) js 隐式创建空对象
2) js 隐式将构造函数的this指向空对象
3) 用户使用 this 给空对象绑定属性
4) js 隐式返回绑定好属性的空对象
④ 构造函数中 this 指向创建出来的对象
5、原型prototype创建对象:(不能传参)
6、混合式创建
① 将需要传参的属性 使用构造函数给对象绑定
② 将值不变的属性 使用原型给对象继承
③ 优势:可以在最大程度上节省计算机内存,可以兼顾传参的效果
④ 推荐使用