Как кратко назначить и немедленно вызвать переменную функции?

Ниже приведен метод определения анонимной функции в замыкании, ее вызова и ее забытия:

(function () { "do stuff"; })();

Это используется для поддержания ограниченной области без добавления большого объема к сценарию (IIFE: выражение для немедленного вызова функции).

Что делать, если выМы надеемся немедленно выполнить функцию, сохраняя ее для дальнейшего использования, как показано ниже:

var doThing;
(doThing = function () { "do stuff"; })();

Это работает в браузерах, которые яМы протестировали (Chrome, FF, IE8, IE10), но это не проходит JSLint (Bad Invocation). Есть ли какие-либо проблемы совместимости с этим?

Есть ли способ сделать это, на что любезно смотрится JSLint?

Ответы на вопрос(5)

Ваш ответ на вопрос