美文网首页
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 闭包的理解 -- 创建记住其状态的函数

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

  • PHP闭包实现

    闭包是指在创建时封装周围状态的函数。即使闭包所在的环境不在了,闭包中封装的状态依旧存在。注意在php中匿名函数=闭...

  • PHP新特性之闭包、匿名函数

    闭包 闭包是什么? 1).闭包和匿名函数在PHP5.3中被引入。2).闭包是指在创建时封装函数周围状态的函数,即使...

  • 闭包和匿名函数

    概念 闭包是指在创建时封装周围状态的函数.即便闭包所在的环境不存在了,闭包中封装的状态依然存在. 匿名函数其实就是...

  • PHP闭包函数

    1.概念 闭包是指在创建时封装周围状态的函数。即使闭包所在的环境不存在了,闭包中封装的状态依然存在。匿名函数就是没...

  • PHP 闭包

    闭包和匿名函数在php5.3中引入,闭包是指的创建时封装周围状态的函数,即便闭包所在的环境不存在了,闭包中封装的状...

  • 2018-08-09

    JavaScript闭包的理解 闭包是指有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式就是在一个函数的...

  • 匿名函数的好处与作用

    匿名函数:定义时未定义函数的名称闭包: 创建时封装周围状态的函数,及时周围的环境不存在了,闭包中的状态还会存在 从...

  • JS|闭包&执行上下文&作用域链

    闭包 闭包是有权访问另一个函数作用域中变量的函数。创建闭包最常见的方式是在函数内创建另一个函数,创建的函数可以访问...

  • 高级函数(闭包,递归,深浅拷贝)

    闭包函数(closures) 闭包函数也叫 匿名函数闭包函数( closures ) 允许创建一个没有指定名称的函...

网友评论

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

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