// 配合 setTimeout()
// 在默认情况下,在 setTimeout() 内部,this 关键字将被设置为 globalThis,在浏览器中它是 window 对象。当处理需要将 this 引用类实例的类方法时,你可以显式地将 this 绑定到回调函数,以便保持实例的引用。
class LateBloomer {
constructor() {
this.petalCount = Math.floor(Math.random() * 12) + 1;
}
bloom() {
// 延迟一秒后宣布开花
// setTimeout(this.declare.bind(this), 1000);
//你还可以使用箭头函数来实现此目的。
setTimeout(() => this.declare(), 1000)
}
declare() {
console.log(`l am a beautiful flower with ${this.petalCount} petals!`);
}
}
const flower = new LateBloomer();
flower.bloom();