Page1:闭包

2019-10-18  本文已影响0人  H修道院的救赎

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

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

这是个闭包的例子:


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值。

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

上一篇 下一篇

猜你喜欢

热点阅读