闭包是一个晦涩难懂的概念,常常会从不少地方看到闭包的定义,可是在真正的项目过程当中,不多直接接触到闭包,面试的时候也常常会被问到闭包用在哪些地方,会感到迷茫。因此,在平时的工做学习中发现有地方用到了闭包,就会感受到很是惊喜。面试
闭包就是可以读取其余函数内部变量的函数。闭包
好比Input的onchange事件绑定的方法须要传递额外的参数时,就能够利用闭包来传值。函数
handleChange(key) => {
return (value) => {
console.log(key+value)
}
}
const obj = [{name:'a',key:'11'},{name:'b',key:'22'},{name:'c',key:'33'},{name:'d',key:'44}];
obj.map(item => <Input onChange={this.handleChange(item.key)})
复制代码
闭包的用途不少,这里只提到一个,后续会补充。学习