在JavaScript,PL / SQL和其他一些语言中,函数可以嵌套,即在另一个函数中声明。这可用于将大型功能分解为较小的部分,但将这些部分保留在较大功能的范围内。
function doTooMuch() {
function doSomething () {
...
}
function doSomethingElse() {
...
}
function doYetAnotherThing() {
...
}
// doTooMuch body
doSomething();
doSomethingElse();
doYetAnotherThing();
}
在某些情况下,当那些较小的函数不使用较大函数的局部变量时,可以很容易地将其更改为所有函数都未嵌套的版本。
function doSomething () {
...
}
function doSomethingElse() {
...
}
function doYetAnotherThing() {
...
}
function doTooMuch() {
doSomething();
doSomethingElse();
doYetAnotherThing();
}
假定这些嵌套函数不在其他任何地方使用,是将它们保留在大型函数的上下文中还是更好,还是不好,因为这正是使大型函数变大,变大的原因?