JavaScript Lazy单件 - 延迟到第一次访问才执行构造函数
2011-04-07 17:41 JimLiu 阅读(629) 评论(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 |
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
【推荐】AI 的力量,开发者的翅膀:欢迎使用 AI 原生开发工具 TRAE
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战