- 一个函数如果被
new
使用,那么它就是构造函数
// new的时候 js 会自动帮你把 this.__proto__ = Person.prototype
function Person(name,age){
this.name = name
this.age = age
}
Person.prototype = {
constructor: Person,
sayHi(target){
console.log(`你好${target.name},我是${this.name}`)
}
}
const p1 = new Person('frank')
const p2 = new Person('ricky')
p1.sayHi(p2)
- 这里的
prototype
是为了给const obj = new f1()
生成的对象用的,即obj.__proto__ === f1.prototype