Erolast,
Очевидно что тестовый пример сделан специально лишь для отображения сути проблемы, и что в реальном проекте функция которая создается в замыкании используется.
JSInteres,
Конечно можно и по другому, тут весь вопрос в том как вы используете функцию в замыкании. Если она используется одноразово (имеется в виду конкретный экземпляр функции созданный в конкретном замыкании), то в конце функции можно просто обнулить priorItem (priorItem = null) и утечки не будет, но при повторном вызове условие не пройдет.
Вообще если возникает такая ситуация возможно стоит поискать другое архитектурное решение чтобы более тонко контролировать функции созданные в замыкании и иметь возможность убивать переменные в них.
|