1.字面量的方式
字面量的方式是不能批量生产对象的
<script>
// 1. 字面量方式
const obj = {}
obj.a = 1
obj.b = 2
console.log(obj)
const obj1 = {}
obj1.a = 1
obj1.b = 2
console.log(obj1)
//如上可见,字面量的形式只能一个一个的创建对象,并不能批量创建对象
</script>
2.内置构造函数的方式
内置构造函数的方式也不能批量生产对象
<script>
// 2. 内置构造函数
const obj = new Object()
obj.a = 1
obj.b = 2
console.log(obj)
const obj1 = new Object()
obj1.a = 1
obj1.b = 2
console.log(obj1)
//同字面量创建对象一样,都只能一个一个创建,不可以批量生产对象
</script>
3.工厂函数方式创建对象
工厂函数本质上就是一个函数,它创建一个对象的过程为:
* 手动创建一个函数
* 手动给对象添加属性
* 手动返回一个属性
扫描二维码关注公众号,回复:
15752142 查看本文章
这个方法可以批量生产对象
<script>
// 3. 工厂函数
function createObj (name, age) {
// 1. 手动创建一个对象
const obj = {}
// 2. 手动向对象内部添加属性
obj.name = name
obj.age = age
// 3. 手动返回一个对象
return obj
}
const o1 = createObj('A001', 18)
const o2 = createObj('A002', 28)
const o3 = createObj('A003', 38)
console.log(o1)
console.log(o2)
console.log(o3)
</script>
经过上面的代码运行,就可以批量创建3个对象,代码运行图如下:
4.自定义构造函数方式创建对象
自定义构造函数,本质上就是一个函数,当它和 new 关键字连用的时候,就叫做构造函数,它创建一个对象的过程为:
* 自动创建一个对象
* 手动向创建的对象添加属性
* 自动返回一个对象
可以批量生对象
<script>
// 4. 自定义构造函数
function createObj () {
// 1. 自动创建出来一个对象
// 2. 手动向对象添加属性
this.name = name
name = '123'
// 3. 自动返回一个对象
}
const o1 = new createObj() // 这种调用方式, 就是构造函数
const o2 = new createObj()
console.log(o1)
console.log(o2)
</script>
经过上面的代码运行,就可以批量创建2个对象,代码运行图如下: