闭包 未完待续

闭包:函数执行形成一个私有的作用域,保护里面的私有变量不受外界的干扰,这种保护机制称之为闭包

大部分开发者认为:形成一个不销毁的私有作用域,是闭包。

//闭包。柯里化函数
    function fn(){
        return function (){

        }
    }
    var f = fn()//fn执行函数内部返回一个堆内存,被f占用,此时fn不能被销毁。所以形成闭包
//闭包 惰性函数
    var utils =(function (){
        return {

        }
    })()//当前自执行的私有作用域不会销毁,因为里面return的东西被utils占用。utils占用了自执行的函数返回的对象
    //这也是整个JS里面2个高阶编程技巧,这两个技巧都是利用形成一个不被销毁的栈内存。

真实的项目中为了保证JS的性能(堆栈内存的性能优化),应该尽可能的减少使用闭包。(因为产生一个闭包就会产生一个不销毁的栈内存,有不销毁的栈内存就会有一个不销毁的堆和一个不销毁的栈)性能会有所消耗,所以要减少对闭包的使用

真实项目中闭包的两个作用:1.保护。2.保存

保护:私有变量不受外界的干扰

保存:形成不销毁的栈内存,把一些值保存下来方便后面调取使用

说一下闭包?

说一下JS中的异步编程?

说一下promise的应用和原理?

async和await是干啥的?

es6有哪些新语法?相对于es5都有哪些区别?

说一下js中dom事件机制

原文地址:https://www.cnblogs.com/menggege/p/14175171.html