惰性单例JavaScript实现与应用经验分享
惰性单例的实现方式,算是前端圈里挺常用的一招了,适合那种要节省资源、懒加载的场景。像Singleton.getInstance
这种写法,只有你真用到它的时候,实例才会被创建,响应也快,代码也清爽。其实这种写法在多框架底层也能见到。尤其你做页面初始化优化时,搞个惰性单例,能省不少事儿,内存也不浪费。
代码也不复杂,就这样:
Singleton.getInstance = (function(){
var instance = null;
return function(name){
if (!instance){
instance = new Singleton(name);
}
return instance;
}
})();
嗯,看着是不是挺眼熟?你只要记得这写法是“用的时候再创建”,基本就差不多了。哦对了,闭包这招在里面起了大作用,把instance
牢牢封在了作用域里,不会被外部乱动。
如果你在优化首屏加载、懒加载组件,或者做工具类封装的时候,真的可以考虑用这种惰性单例的套路。逻辑清晰、性能友好,关键还挺省事。
有兴趣的话,可以去看看《通用的惰性单例-清华大学计算机考研经验贴》,讲得还挺细,适合想深入了解的你。
8.5MB
文件大小:
评论区