闭包、高阶函数、重载

1、闭包

定义来源1:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Closures
定义本身1:内部函数可以访问外部函数作用域,外部函数不能直接访问内部函数的作用域,即函数内部不会受外部干扰。函数的这种机制叫做闭包。

定义来源2:《JavaScript高级程序设计》第178页
定义本身2:有权(能夠)访问另一个函数作用域中的变量的函数。

闭包的特征:函数中的函数

好处:闭包可以作为返回值被函数外部的变量引用,这样函数外部就可以访问函数内部的变量,减少全局变量。
坏处:导致函数的作用域不能释放,占用内存。


2、高阶函数
定义:操作其他函数的函数,比如map、forEach


3、关于重载

Java可以为一个函数定义两个定义,只要这两个定义的签名(参数的类型和数量)不同即可。JS没有签名,所以不能重载。

猜你喜欢

转载自www.cnblogs.com/gushixianqiancheng/p/11923601.html