js基础-闭包及应用&&单例设计模式

本文探讨了JavaScript中的闭包特性及其在内存消耗方面的缺点,并详细讲解了单例设计模式的应用,包括如何避免全局变量污染以及在jQuery和登录框组件中的实践。此外,还介绍了惰性函数、柯里化函数的概念以及compose函数在函数组合中的作用,最后讨论了在for循环中处理异步操作的问题。
摘要由CSDN通过智能技术生成

闭包是一种机制,函数执行形成的一个不被释放的私有上下文,形成保护和保存的机制
缺点:形成不被释放的上下文,消耗内存
下面来介绍代码中对的闭包的应用

一、单例设计模式中的应用

系统中被唯一使用,一个类只有一个实例称为单例模式
把描述自己特征的属性方法,放到自己的命名空间,这样可以防止全局变量污染

介绍一种简单的单例设计模式
class SingleObject {
   login() {
       console.log('login...')
   }
}
SingleObject.getInstance = (function () {
   let instance
   return function () {
        if (!instance) {
            instance = new SingleObject()
        }
        return instance
   }
})()
 let obj1 = SingleObject.getInstance()
 let obj2 = SingleObject.getInstance()
 console.log(obj1 === obj2) // 相等说明是唯一的实例
jq中单例设计模式
(function (global,factory) {
     if (typeof module === ‘object’ && typeof module.exports === ‘object’) {
    // NODE环境下执行(CommonJS模块)
} else {
   // 浏览器环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值