ਇੱਕ closure ਇੱਕ ਫੰਕਸ਼ਨ ਹੈ ਜੋ ਆਪਣੇ ਆਲੇ-ਦੁਆਲੇ (lexical) scope ਤੋਂ ਵੇਰੀਏਬਲਜ਼ ਦੇ ਸੰਦਰਭਾਂ ਨਾਲ ਬੰਨ੍ਹਿਆ ਹੋਇਆ ਹੈ। Closures ਦੀ ਵਜ੍ਹਾ ਨਾਲ, ਇੱਕ ਅੰਦਰਲਾ ਫੰਕਸ਼ਨ ਆਪਣੇ ਬਾਹਰਲੇ ਫੰਕਸ਼ਨ ਦੀਆਂ ਵੇਰੀਏਬਲਜ਼ ਤਕ ਪਹੁੰਚ ਕਰ ਸਕਦਾ ਹੈ ਭਾਵੇਂ ਬਾਹਰਲਾ ਫੰਕਸ਼ਨ ਵਾਪਸ ਆ ਚੁੱਕਾ ਹੋਵੇ।
() {
count = ;
{
: ++count,
: count,
};
}
a = ();
b = ();
a.(); a.();
b.();
