闭包和闭包的应用


闭包
//闭包:函数嵌套函数,内部函数就是闭包
        //正常情况下,函数执行完成,内部变量就会被销毁(释放内存空间)
        //闭包:内部函数没有执行完成,外部函数变量不会被销毁
        function outerFun() {
            let name = ‘outer’
            return function innerFun() {
                console.log(name)
            }
        }
        let fun = outerFun()
        fun() //输出outer
闭包的应用
        //应用:封装一段代码(封装模块module)减少全局变量
        let module = (function () {
            let a = 10
            let b = 20
            function add() {
                console.log(a + b)
            }
            function sub() {
                console.log(a – b)
            }
            return {
                sub, //ES6语法属性命和值一致可以简写
                add
            }
        })()
        module.add()
        module.sub()

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/280383.html

(0)
上一篇 2022年8月14日 01:51
下一篇 2022年8月14日 01:51

相关推荐

发表回复

登录后才能评论