引言:
没有绝对优秀的构造函数的方法,每一种方法都有他们的优缺点,我们需要考虑的是知道他们的应用场景,合理的使用他们,从而达到自己的要求。
1.Object构造函数模式
使用方式:先创建空对象,再添加属性/方法
适用场景:起始时不确定对象内部的数据
缺点:语句太多
var person = new Object()
person.age = 15
person.name = 'Bob'
person.run = function () {
console.log('run');
}
2.对象字面量
使用方式:使用{}创建对象,同时指定属性/方法
适用场景:起始时对象内部数据确定
缺点:如果创建多个对象,有重复代码
var person = {
name: 'Bob',
age: 15,
run() {
console.log('run');
}
}
var person2 = {
name: 'Jack',
age: 13,
run() {
console.log('run');
}
}
3.工厂模式
使用方式:通过工厂函数动态创建对象并返回
适用场景:需要创建多个对象
缺点:对象没有具体的类型,都是Object类型
function createPerson(age, name) {
//返回一个对象的函数==》工厂函数
var obj= {
name: name,
age: age,
run(