JavaScript Lazy单件 - 延迟到第一次访问才执行构造函数
2011-04-07 17:41 JimLiu 阅读(628) 评论(0) 收藏 举报1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | var LazySingleton = function (){ var val = 1, _instance; var lazy_init = function (){ alert( 'Lazy init, exec no more than once.' ); return { getVal : function (){ return val; }, setVal : function (v){ val = v; } }; }; var init = function (){ init = function (){ return _instance; }; return _instance = lazy_init(); }; return { getInstance : function (){ return init(); } }; }(); alert( 'load before lazy init.' ); var ls1 = LazySingleton.getInstance(); // will exec lazy init alert(ls1.getVal()); // 1 ls1.setVal(5); var ls2 = LazySingleton.getInstance(); // won't exec lazy init alert(ls2.getVal()); // 5 alert(ls1 == ls2); // true alert(ls1 === ls2); // true |
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步