It's available as long as the declaration stays on the call stack. It more-or-less allows globals to be temporarily redefined.