JS高级:闭包

1 如何产生闭包?

当一个嵌套的内部(子)函数引用了嵌套的外部(父)函数的变量(函数)时, 就产生了闭包(closure)

2 闭包到底是什么?

使用chrome调试查看

理解一: 闭包是嵌套的内部函数

理解二: 包含被引用变量(函数)的对象

注意: 闭包存在于嵌套的内部函数中

3 产生闭包的条件?

函数嵌套

内部函数引用了外部函数的数据(变量/函数)

4 常见的闭包使用形式?

4.1 将函数作为另一个函数的返回值

 // 1. 将函数作为另一个函数的返回值 function fn1() { var num = 10; function fn2() { num++; console.log(num); } return fn2; } var f = fn1(); f(); // 11 f(); //

4.2 将函数的形参作为实参传递给另一个函数调用

相关文章