闭包:在一个作用域中可以访问另一个函数内部的局部变量的函数。 比如:我们想让age自增
function person() {
var age = 18;
return function(){
age++;
console.log(age);
}
}
let getPersonAge = person();
getPersonAge(); // 19
getPersonAge(); // 20
getPersonAge(); // 21
这时getPersonAge变量实际等于
getPersonAge=function(){
age++;
console.log(age);
}
根据js执行机制,person函数中age = 18;执行后应该销毁,但是因为返回的是一个函数,所以age++的值就得到了保留。 根据以上案例,我理解在react中子组件如果想把父组件传入的参数,通过自身更改后再返给父组件,其实也是闭包原理。