文章目录
ReactNative系列-文章
闭包
释义(来自百度百科)
闭包就是能够读取其他函数内部变量的函数。例如在javascript中,只有函数内部的子函数才能读取局部变量,所以闭包可以理解成“定义在一个函数内部的函数“。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。
例子
function makeFunc() {
var name = "Mozilla";
function displayName() {
console.log(name);
}
return displayName;
}
var myFunc = makeFunc();
myFunc(); // Mozilla
作用
- 保护函数内的变量安全,如上述例子,函数makeFunc()中的变量name,只有函数displayName()才能访问,其它途径无法访问到,因此保护了name的安全性。
- 在内存中维持这个变量。
缺点
- 由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大。
- 闭包会在父函数外部,改变父函数内部变量的值。