javascript - 如何通俗解释闭包和闭包的作用?
本文介绍了javascript - 如何通俗解释闭包和闭包的作用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
如何通俗的解释以下闭包(closure)和闭包在具体项目中的应用实例?
php中,
function demo(){
$a=10;
$b=20;
$fun=function() use ($a,$b){
echo $a+$b;
};
}
demo();
是否和下面作用类似?
class cls{
public $a=10;
public $b=20;
public function fun(){
echo $this->a+$this->b;
}
}
$obj=new cls;
$obj->fun();
一般会在具体项目中什么情况下使用?能否给出小例子
解决方案
public 改成 private 就差不多了。
闭包是函数式编程里面的概念,随着计算机语言慢慢朝着函数式编程语言的的方向发展,很对语言里都开始支持匿名函数(以及lamada表达式)以及包。匿名函数用途很大,闭包算是为支持 lamada 表达式而存在的。
可是像,Java等这样的语言,大家给习惯用类写原来的代码,在这里面我觉得使用闭包的话,可以减小代码量,就这样!
前几天,写过一个关于闭包的草稿,js的
https://segmentfault.com/q/1010000004736461
这篇关于javascript - 如何通俗解释闭包和闭包的作用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文