1.需要有外部函数嵌套内部函数
2.在内部函数中访问外部函数的变量
3.在此嵌套函数外,用变量引用内部函数
例子:
//1.这是一个outerFunc嵌套innerFunc的嵌套函数
function outerFunc() {
var num = 110;
return function innerFunc() {
//2.在innerFunc中访问outerFunc的局部变量num
var num1 = 2 * num;
console.log(num1);
return num1;
}
}
//3.嵌套函数外部引用innerFunc
var fn1 = outerFunc();//返回outerFunc的返回值(即innerFunc)
var fn2 = fn1();//返回innerFunc的返回值(即220)
//输出结果:220
例子2:
function outer() {
var num1 = 1;
function inner() {
var num2 = 2;
console.log(num1 + num2);
}
return inner;
}
outer()(); //3