美文网首页
Page1:闭包

Page1:闭包

作者: H修道院的救赎 | 来源:发表于2019-10-18 11:16 被阅读0次

    最近要开始求职,所以开始复习一些基础知识,发现闭包这个东西,有一些容易让人困惑,主要是它的原理是什么?他又是如何应用的?(实际应用功能),所以在此做个记录,方便以后查阅。

    首先闭包,我的理解就是:一个外部的变量(方法)能够访问一个对象(方法)内部的属性。

    这是个闭包的例子:

    
    let outer ="out";
    
    let start;
    
    function outClass() {
    
    let inner ="in";
    
        function innerClass() {
    
            console.log(outer);
    
            console.log(inner);
    
        }
    
        start =innerClass
    
    }
    
    outClass();
    
    start();
    
    //todo 打印结果:    out
    
    //todo              in
    
    

    从上面我们可以看出,外部的start通过在outClass里面的赋值,可以将内部方法“提到外部”调用,获得outClass里面记录的inner值。

    综合上述,闭包最大的作用就是将代码整合,把一些不需要修改的字段藏在闭包里面,这样提炼函数是代码重构中的一种常见技巧,可以帮助把一些不需要暴露在全局的变量封装成“私有变量”,同时还能延长局部变量的生命周期。

    相关文章

      网友评论

          本文标题:Page1:闭包

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