最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js單例模式的兩種方案

 更新時(shí)間:2013年10月22日 15:58:14   作者:  
這篇文章介紹了js單例模式的兩種方案,有需要的朋友可以參考一下

方案一:利用閉包的兩個(gè)作用,可以變通地讀到內(nèi)部的變量,二是可以讓這些變量始終在內(nèi)存中。

復(fù)制代碼 代碼如下:

//方案一
    var SingletonTester = (function () {
        //單例方法
        function Singleton(args) {
            var args = args || {};
            this.name = 'SingletonTester'; //方法對(duì)外的屬性,另外一種方式就是返回對(duì)象
            this.pointX = args.pointX || 6;
            this.pointY = args.pointY || 10;
        }

        //單例實(shí)例
        var instance;

        //返回對(duì)象
        return {
            name: 'SingletonTester',

            getInstance: function (args) {
                if (instance === undefined) {
                    instance = new Singleton(args);
                }
                return instance;
            }
        };
    })(); //直接執(zhí)行該方法

    //測(cè)試
    var test = SingletonTester.getInstance({ pointX: 5 });
    console.log(test.pointX);

方案二: 

復(fù)制代碼 代碼如下:

//方案二
  function Universe() {
      // 判斷是否存在實(shí)例
      if (typeof Universe.instance === 'object') {
          return Universe.instance;
      }

      // 其它內(nèi)容
      this.start_time = 0;
      this.bang = "Big";

      // 緩存
      Universe.instance = this;

      // 隱式返回this
  }

  // 測(cè)試
  var uni = new Universe();
  var uni2 = new Universe();
  console.log(uni === uni2); // true

相關(guān)文章

最新評(píng)論

会理县| 家居| 浦城县| 明水县| 鞍山市| 丰都县| 通渭县| 安溪县| 南丹县| 拉萨市| 乌审旗| 莆田市| 会昌县| 兰考县| 勐海县| 台中县| 晋州市| 房产| 山东省| 中方县| 扶风县| 威宁| 山阳县| 福海县| 水富县| 蒲江县| 寿光市| 屏东市| 攀枝花市| 成都市| 二连浩特市| 宜都市| 高密市| 彭阳县| 松滋市| 客服| 黄龙县| 桦甸市| 固安县| 日照市| 扎兰屯市|