美文网首页
2021-06-28 闭包应用

2021-06-28 闭包应用

作者: 0说 | 来源:发表于2021-06-28 22:59 被阅读0次
let test = function() {
          let cache = {}
            // 这里提到这边可以跟下面的函数 解开 耦合关系
            let countTotal = function() {
                let a = 1
                for(let i = 0; i < arguments.length; i++) {
                   a *= arguments[i] 
                }
                return a
            }
            return function() {
                // arguments 没有join函数 利用Array的方法来做到join
                let arg = Array.prototype.join.call(arguments, ',')
                // 查看有没有缓存
                if(cache[arg]) {
                    console.log('走缓存了')
                    return cache[arg]
                }
                return cache[arg] = countTotal.apply(null, arguments)
            }
        }()
        console.log(test(1, 2, 3))
        console.log(test(7, 8, 9))
        console.log(test(1, 2, 3))

// 命令模式  解耦
        // 事件对象
        let TV = {
            open() {
                console.log('打开电视');
            },
            close() {
                console.log('关闭电视');
            }
        }
        // 执行事件
        let DoSome = function(tv) {
            let open = function() {
                return tv.open()
            }

            let close = function() {
               return tv.close()
            }

            return {
                open,
                close
            }
        }
        // 绑定事件
        let mount = function(action) {
            document.getElementById('open').onclick = function() {
                action.open()
            }
            document.getElementById('close').onclick = function() {
                action.close()
            }
        }

        mount( new DoSome( TV ) )

相关文章

  • 2021-06-28 闭包应用

  • 闭包(closure)

    ● 闭包基础 ● 闭包作用 ● 闭包经典例子 ● 闭包应用 ● 闭包缺点 ● 参考资料 1、闭包基础 作用域和作...

  • 闭包1(基础)

    (什么是闭包?闭包的作用?闭包的缺陷?) (闭包的几种可能的应用场景) (闭包与内存泄漏,有关闭包的面试题) 推荐...

  • 闭包与setTimeout

    闭包 闭包的作用: 闭包的本质是一个函数闭包可以访问函数内部变量闭包的存在会使内部变量保留在内存中闭包的应用: 模...

  • 闭包应用

    闭包存循环的索引值 闭包做私有变量计数器 闭包做选项卡

  • python之闭包

    1、什么是闭包? 2、闭包有什么用? 3、闭包的应用场景? 今天带着以上三个问题来学习闭包。 首先说明:闭包,并不...

  • 「JS」闭包

    闭包闭包的应用保存变量现场封装 闭包 闭包有函数和与其相关的引用环境的组合而成 闭包允许函数访问其引用环境中的变量...

  • JS-闭包

    一、闭包简介1、函数内部的函数可以生成闭包2、闭包的应用:需要多个内部变量值3、闭包弊端闭包:会倒致函数运行结束后...

  • 执行环境 & 作用域 & 闭包

    执行环境 & 作用域 & 闭包 执行环境 , 作用域 , 闭包 , 闭包应用 执行环境 执行环境定义了 当前环境的...

  • JavaScript - 闭包

    理解 关于闭包 答案: 用arguments.callee和闭包实现的函数封装 应用 利用闭包实现自动递增计数

网友评论

      本文标题:2021-06-28 闭包应用

      本文链接:https://www.haomeiwen.com/subject/hxncultx.html