以下は、クロージャ内で無名関数を定義し、関数を呼び出して、それを忘れる方法です。
(function () { "do stuff"; })();
これは、スクリプトにバルクを追加せずに限定されたスコープを維持するために使用されます(IIFE:即時呼び出し関数式)。
次のように、将来の使用のために関数を保持しながら、関数をすぐに実行したい場合はどうなりますか。
var doThing;
(doThing = function () { "do stuff"; })();
これは、私がテストしたブラウザー(Chrome、FF、IE8、IE10)で機能しますが、JSLint(Bad Invocation)に合格しません。この方法で互換性の問題はありますか?
JSLintが親切に見ているこれを達成する方法はありますか?