创建对象的方式 (需要能够方便我们批量创建对象)
- 字面量方式
let obj = {
name: 'abc'
age: 18
}
console.log(obj)
- 内置构造函数
let obj = new Object()
obj.name = 'abc'
obj.age = 18
console.log(obj)
- 工厂函数
let createObj(num){
let obj = {}
obj.name = 'abc'
obj.age = num
return obj
}
let obj = createObj(18)
console.log(obj)
- 自定义构造函数
let Person(name,age) {
this.name = name
this.age = age
}
let obj = new Person('abc',18)
console.log(obj)
自定义构造函数的一些注意点:
1. 函数名首字母大写,主要是为了和普通函数做一个区分
2. 调用的时候使用 new 关键字,如果不使用 new,那么和普通函数没有区别
3. 函数内部不要书写 return,会自动返回一个对象,
如果在函数内部return了一个普通数据类型,那么普通数据类型不会被返回,
如果 return 了一个复杂数据类型,那么构造函数会没有意义
4.函数内部的 this 指向,
当一个函数和 new 关键字连用的时候,我们称为构造函数,
然后这个函数内部的 this 指向的是这次调用函数被自动创建出来的那个对象