乐趣区

关于javascript:单例模式

定义:确保一个类只有一个实例,而且自行实例化并向整个零碎提供这个实例。
说白了就是:就算你反复调用想去生成新的实例,但返回的依然是这个实例,在 js 中也就是闭包的利用。

var singleton = (function () {
        var animal
        return function (name) {if (!animal) animal = new Animals(name)
          return animal
        }
      })()
      function Animals(name) {
        this.name = name
        this.getName = function () {console.log(this.name)
        }
      }
      var animal1 = singleton('小猫咪')
      var animal2 = singleton('大鲨鱼')
      var animal3 = singleton('旺财')
      animal1.getName() // 小猫咪
      animal2.getName() // 小猫咪
      animal3.getName() // 小猫咪
      console.log(animal1 === animal2) //true
退出移动版