关于javascript:单例模式

40次阅读

共计 454 个字符,预计需要花费 2 分钟才能阅读完成。

定义:确保一个类只有一个实例,而且自行实例化并向整个零碎提供这个实例。
说白了就是:就算你反复调用想去生成新的实例,但返回的依然是这个实例,在 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

正文完
 0