定义
个人理解
拿经典游戏贪吃蛇为例,蛇吃的食物每次都出现一个,按照我没学习单例模式之前的思想,会生成一个食物类,当蛇吧食物吃啦时,就需要创建一个新的食物,那这样对js引擎来说,不就是一个重复的操作。这也就是单例模式解决的问题
代码实现
var Test = (function() {var intance;return function (name) {if(typeof intance === 'object') {return intance;}this.name = name;intance = this;}}) ()const a = new Test('a')Test.age = 12;const b = new Test('1')console.log(a === b);
实现传入普通函数,改造成单例模式
var getSingle = function(func) {var result;return function () {if (!result) {result = func.apply(this, arguments);}return result ;}}
