美文网首页
2018-07-20 闭包的理解 -- 创建记住其状态的函数

2018-07-20 闭包的理解 -- 创建记住其状态的函数

作者: small_zeo | 来源:发表于2018-07-20 01:04 被阅读0次

    想要创建一个函数,它能够记住数据,但是不必使用全局变量,并且不必对每个函数调用重新发送的数据。

    创建一个函数,它接受一个或多个参数,然后创建一个内部函数,它也接受一个或多个参数,但是为了执行其功能,内部函数使用自己的参数及其父函数的参数。从外围函数返回内部函数,并且将其赋值给一个变量。从这一刻起,将该变量当作函数使用。

    维持这些从一个函数到另一个函数的数据的一种方法是:

    在一个函数内部创建一个函数,让它们都访问该数据,然后,从外围函数返回内部函数。

    从一个函数返回一个函数,当返回的函数使用外围的函数的作用域的时候,这称为函数闭包!

    闭包的缺点:每次闭包都会占用内存,并且我们创建的闭包越多,使用的内存也越多。如果应用程序作用域释放的时候,内存没有释放,这个问题就会雪上加霜。当这种情况发生的时候,结果就是持久性的内存泄露。

    function greet(gretting) {

        function addName(name) {

            return gretting + name;

       }

     return addName;

    }

    var a = greet('Good Day to you');

    var b = greet('Good Evening');

    console.log(a('binbin'));//Good Day to you binbin;

    console.log(b('binbin'));//Good Evening binbin;

    相关文章

      网友评论

          本文标题:2018-07-20 闭包的理解 -- 创建记住其状态的函数

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