function one() {
// do something
function two() {
// do something
function three() {
// do something
function four() {
// do something
}
}
}
}
嵌套函数可以访问其父作用域,因此您可以从深度嵌套函数更改父作用域中的状态。例如
function one() {
var a = 1;
two(); // a = 4
function two() {
var b = 2;
three(); // b = 4
function three() {
var c = 3;
four(); // c = 4
function four() {
a = 4;
b = 4;
c = 4;
}
}
}
}
function one() {
var a = 1;
two(); // a = 1
}
function two() {
var b = 2;
three(); // b = 2
}
function three() {
var c = 3;
four(); // c = 3
}
function four() {
a = 4;
b = 4;
c = 4;
}