class DB{
static getInstance(){ //单例
if(!DB.instance){
DB.instance = new DB();
}
return DB.instance;
}
constructor(){ //构造函数
console.log('实例化会触发构造函数');
this.connect();
}
consnect(){
console.log('连接成功');
}
find(){
console.log('查询成功');
}
}
var mydb = DB.getInstance();
如果没有单例,每实例化一次,就会执行一次构造函数,性能大大下降;
var mydb = new DB();
var mydb = new DB();
控制台输出结果:
实例化会触发构造函数
连接成功
实例化会触发构造函数
连接成功
有单例后,构造函数只用执行一次,大大提升性能
var mydb = DB.getInstance();
var mydb2 = DB.getInstance();
mydb2.find();
控制台输出结果:
实例化会触发构造函数
连接成功
查询成功