如何自制一个构造函数?
目标使用自制的构造函数创建一个含有 name 和 age 的对象,并且有 sayHi 和 run 方法
最终代码
JS 的构造函数的推荐写法,代码如下:
function Person(name = '匿名', age = 0) {
const obj = Object.create(Person.共有属性);
// 相当于 obj = {隐藏属性: Person.共有属性}
obj.name = name
obj.age = age
return obj
}
Person.共有属性 = {
constructor:Person,
sayHi() {
console.log(`你好,我是 ${this.name}`)
},
run() {
console.log(`${this.name} 在跑步`)
}
}
除了上面这种构造函数写法,我们还可以使用 class 写法,代码如下:
class Person {
constructor(name = '匿名', age = 0) {
this.name = name
this.age = age
}
sayHi() {
console.log(`你好,我是 ${this.name}`)
}
run() {
console.log(`${this.name} 在跑步`)
}
}