导言:如果你像我一样也是JavaScript的初学者并且希望更深一步理解Vue框架背后的设计思想的话,那么这篇文章或许会适合你。
单例模式
单例模式的定义是:
保证一个类仅有一个实例,并提供一个访问他的全局方法。
什么是单例模式呢,简单来说就是一个类只能创建一个实例,即使你创建了很多的实例,但如果通过===比较的话,你会发现,这些实例全部都是相等的。
那这有什么用呢?比如我们拿微信举例子,通常情况下无论是手机端还是PC端,你都只能登陆一个微信账号。而且你也只能打开一个微信登录界面,没有办法打开多个。这就是单例模式的一个应用场景,当我们会做一些限制操作的时候,会考虑使用单例模式。
JavaScript实现单例模式
在JavaScript中一个非常有用的单例模式实现方式称为惰性单例。我们希望单例模式是按需加载的,也就是需要单例模式的时候才生成单例模式对象,不需要的时候就不生成单例模式对象。代码实现如下:
class SingleObject {
login() {
console.log('login...')
}
}
// 定义一个静态方法
SingleObject.getInstance = (function () {
let instance
return function (