设计模式学习

xiaoxiao2021-02-28  77

什么是单例模式?

保证一个类仅有一个实例,并提供一个访问它的全局访问点。

var SingleTon=(function(){ var instance; var Student=function(){ this.name="yqy"; this.age=23; } return { getInstance:function () { if(!instance){ instance =new Student(); } return instance; } }; })(); var s1=new SingleTon.getInstance(); var s2=new SingleTon.getInstance(); console.log("此时创建的Student是否是同一个Student:"+(s1===s2));

从代码中可以看出,Student是SingleTon私有的,用户无法直接创建这个对象,只能通过SingleTon返回实例,在SingleTon中只new 了一次,返回的会是同一个实例。

ps:===和==的区别

var i=1; var j="1"; var k=1; console.log((i==j)+";"+(i===j));//true;false console.log((i!=j)+";"+(i!==j));//false;true console.log((i==k)+";"+(i===k));//true;true console.log((i!=k)+";"+(i!==k));//false;false

===和==不同在于,===是要比较类型的,然后再比较值,==不同类型的时候会先转换然后再比较值。

转载请注明原文地址: https://www.6miu.com/read-32588.html

最新回复(0)