在 JavaScript 中,用 new 关键字来调用的函数,称为构造函数。 构造函数首字母一般大写。
我学会了 JS 的构造函数的基本写法,代码如下:
function Person(name = '匿名', age = 0) {
this.name = name
this.age = age
}
Person.prototype = {
constructor: Person,
sayHi() {
console.log(`你好,我是 ${this.name}`)
},
run() {
console.log(`${this.name} 在跑步`)
}
}
const f1 = new Person('guo', 22)
f1.sayHi()
f1.run()
用 new 的好处
- new 帮你创建一个新对象
- new 帮你准备 Person.共有属性(不要问属性名)
- new 帮你关联隐藏属性与共有属性
- new 帮你 return 新对象
小知识
- 箭头函数不能当构造函数,因为它不支持 this、不自带 prototype
除了上面这种构造函数写法,我还学会了 class 写法,代码如下:
class Person {
constructor(name = '匿名', age = 0) {
this.name = name
this.age = age
}
sayHi() {
console.log(`你好,我是 ${this.name}`)
}
run() {
console.log(`${this.name} 在跑步`)
}
}