在书上看到了惰性单例,不是太理解,可以解释一下吗?

 var LazySingle = ( function () {

        // 单例引用

        var _instance = null;

        // 单例

        function Single() {

            return {

                // 这里定义私有属性和方法

                publicMethod : function () {},

                publicProperty : '1.0'

            }

        }

        // 获取单例接口

        return function () {

            // 如果为创建单例将创建单例

            if ( ! _instance ) {

                _instance = Single();

            } 

            // 返回单例

            return _instance;

        }

        

    } )();

我不是太理解,什么是惰性单例,还有这个惰性单例的用途是什么呢?希望大神们给小白解释一下好吗?

牧羊人nacy
浏览 594回答 1
1回答

千万里不及你

惰性单例就是你使用的时候才去创建的单例,不是上来就有的。var LazySingle = ( function () {    // 单例引用     var _instance = null;    // 单例     function Single() {        return {            // 这里定义私有属性和方法             publicMethod : function () {},             publicProperty : '1.0'         }     }    // 获取单例接口     return Single();      } )();这是一个非惰性单例,你比较一下。惰性单例你使用的时候是LazySingle(),而非惰性则是LazySingle
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript