クロージャー

コールバック関数に引数を渡す。 クロージャーを使う例。

by s_hiroshi

JavaScript

// クロージャーの例1
// (カウンター)

function outerFunction(name) { // 引数も自由変数
    var count = 0; // 自由変数
    return function() {
        count = count + 1;
        console.log(name + ': count is ' + count);
    };
}

var counter = outerFunction('foo');
counter();
counter();


// クロージャーを使うコールバック関数の例。
// 引数を渡して実行できる。


function callback(name) { // 引数も自由変数
    var count = 0; // 自由変数
    return function() {
        console.log('Hello, ' + name);
    };
}

setTimeout(callback('foo'), 1000);