即時実行 (function(){}()), (function(){})() : JavaScrip

Pocket

関数の即時実行を使う利点は変数名を節約できる点にある。無名関数の即時実行ば変数を必要としない。また

即時実行の構文

即時実行の構文は2とおりある。『JavaScript パターン』(Stoyan Stefanov 2011)は前者を推奨している。

(function () {
    // ・・・処理・・・
}());
// 下記でも同じ
(function () {
     // ・・・処理・・・
})();

関数名付きでも即時実行した時点でガーベージコレクトされる例。

var o = {
    bar: false,
    foo: false
};
// 関数宣言
function bar() {
    o.bar = true;
}

// 名前付き関数の即時実行
var res = function foo() {
    o.foo = true;
}();


// 関数名の変数fooはすぐにガーベージコレクトされる。
console.log(typeof bar == 'function'); // ture
console.log(typeof foo == 'undefined'); // true

JavaScriptの即時実行について参考になるサイト。
» (function(){})() と function(){}() – IT戦記

コメント

No comments yet.

コメントの投稿

改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。