前端设计模式

什么是设计模式?

设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

一、单例模式

单例模式是什么?

单:单一

例子:实例

单例模式:一个构造函数只能有一个实例,不管你new多少次都是这一个

我们先简单的写一个函数

        function Person(){
            this.name = 'jack'
        }
        let p1 = new Person()
        let p2 = new Person()
        console.log(p1 === p2); //false

显然到这一步,我们的p1 和 p2 是Perosn函数的俩个不同的实例(事实上按照规则也确实如此),那么现在我们就需要加入一段新的代码,让他变成我们期望中的样子

        let instance = null 
        function singleTon(){
            if(!instance) instance = new Person()
            return instance
        }

这段代码的意思是先设置一个全局变量instance,接着我们写一个函数singleTon,在函数内部我们进行if判断,判断当instance存在的时候,instance通过new调用构造函数Person,然后再返回instance。这段代码的作用在于当我们从第二次开始调用singleTon这个函数时,我们的instance会赋值给Person函数的实例,也就是说不管调用多少次我们的实例始终只有一个

最终我们的代码变成了这样

        function Person(){
            this.name = 'jack'
        }

        let instance = null 
        function singleTon(){
            if(!instance) console.log(instance);
            instance = new Person()
            console.log(instance);
            return instance
        }

        let p1 = new singleTon()
        let p2 = new singleTon()
        console.log(p1 === p2); //true

结果我们可以看到p1完全等于p2了,就达到了我们单例模式的目的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值