外观
构造函数
约 470 字大约 2 分钟
2024-10-02
构造函数是一种特殊的函数, 主要用来初始化对象.
可以通过构造函数来快速创建多个类似的对象.
使用new关键词调用的函数行为被称为实体化.
举个例子:
不使用构造函数:
// 创建洱海的对象
const Erhai_lake = {
Name: "洱海",
Age: 18,
Gender: "男"
}
// 创建柒月的对象
const Qi_Month = {
Name: "柒月",
Age: 18,
Gender: "女"
}
// 创建小良的对象
const XiaoLiang = {
Name: "小良",
Age: 18,
Gender: "男"
}使用构造函数:
function ELake(Name, Age, Gender) {
this.Name = Name
this.Age = Age
this.Gender = Gender
}
// 创建洱海的对象
const Erhai_lake = new ELake("洱海", 18, "男")
// 创建柒月的对象
const Qi_Month = new ELake("柒月", 18, "女")
// 创建小良的对象
const XiaoLiang = new ELake("小良", 18, "男")注意
- 构造函数的命名以大写字母开头.
- 构造函数只能由
new操作符执行. - 构造函数内部写
return是无效的.
实例成员
通过构造函数创建的对象, 被称为实例对象, 实例对象中的属性和方法称为实例成员(实例属性和实例方法).
注意
- 为构造函数传入参数, 创建结构相同但值不同的对象.
- 构造函数创建的实例对象彼此独立互不影响.
function ELake(Name) {
this.Name = Name
}
const Erhai_lake = new ELake("洱海")
const Qi_Month = new ELake("柒月")
// 实例属性
Erhai_lake.Name = "Erhai_lake"
// 实例方法
Erhai_lake.sayHi = () => {
console.log("Hi~")
}
console.log(Erhai_lake)
console.log(Qi_Month)
console.log(Erhai_lake === Qi_Month)静态成员
构造函数的属性和方法被称为静态成员(静态属性和静态方法).
注意
- 静态成员只能构造函数来访问.
- 静态方法中的
this指向构造函数.
function ELake(Name) {
this.Name = Name
}
// 静态属性
ELake.Age = 18
// 静态方法
ELake.sayHi = function () {
console.log(this)
}
ELake.sayHi()
console.log(ELake.Age)版权所有
版权归属:Erhai_lake