闭包是很(重要很重要很重要的)函数结构,多用于柯里化,假设函数有两个变量,其中一个是基础变量也叫自由变量,自由变量是为了适应不同的环境随时改变而存在,好像只鸡可以适应不同的男人(不歧视这个古老的行业)。自由变量就像一个方便调试基础参数,自由变量后面那个参数才是输入的实际数据。
http://blog.csdn.net/php_Zhaop/article/details/75315172?locationNum=2&fps=1
这篇文章阐述的很详细了
闭包形成的一个重要条件是 必须有自由变量,自由变量就是作用在不同域的变量,定义在嵌套函数外,执行在嵌套内。
function nameBy(lastName) {
return function(firstName) {
retrn firstName + " " + lastName;
}
}
var group = nameBy("Jordan")
var michael = group("Michael")
var susan = group("Susan")
suan()=Jordan Susan
michael()=Jordan Michael 这样返回的姓名,每回就会自动加一个前缀了
——————————————————
var add = (x) => (y) => x + y
var add10 = add(10)
alert(add10(20))
alert(add10(30))
alert(add10(40)) 自动实现了加10,lamder表达式 这个是7岁的