जावास्क्रिप्ट में, पीएल / एसक्यूएल और कुछ अन्य भाषाओं में, फ़ंक्शन को नेस्ट किया जा सकता है, अर्थात किसी अन्य फ़ंक्शन के भीतर घोषित किया जा सकता है। इसका उपयोग किसी बड़े फ़ंक्शन को छोटे टुकड़ों में तोड़ने के लिए किया जा सकता है, लेकिन उन टुकड़ों को बड़े फ़ंक्शन के संदर्भ में रखें।
function doTooMuch() {
function doSomething () {
...
}
function doSomethingElse() {
...
}
function doYetAnotherThing() {
...
}
// doTooMuch body
doSomething();
doSomethingElse();
doYetAnotherThing();
}
कुछ मामलों में, जब वे छोटे कार्य बड़े फ़ंक्शन के स्थानीय चर का उपयोग नहीं करते हैं, तो यह आसानी से एक संस्करण में बदल सकता है जहां सभी फ़ंक्शन अनावश्यक हैं।
function doSomething () {
...
}
function doSomethingElse() {
...
}
function doYetAnotherThing() {
...
}
function doTooMuch() {
doSomething();
doSomethingElse();
doYetAnotherThing();
}
यह मानते हुए कि उन नेस्टेड फ़ंक्शन का उपयोग कहीं और नहीं किया जाना है, क्या उन्हें बड़े फ़ंक्शन के संदर्भ में रखना बेहतर है या यह बुरा है क्योंकि यह वही है जो बड़े फ़ंक्शन को ठीक करता है, ठीक है, बड़े?