クロージャ

JavaScriptは、クロージャをサポートしている。

クロージャとは、関数の内部で、変数と無名関数を定義し、無名関数の内部から、変数を参照すること。

引数を扱うこともできる。

構文

function 関数() {
    var 変数A =;
    return function () {    // 無名関数
        // 変数Aを参照
    }
}
var 変数B = 関数();
変数B();    // 関数内で定義した無名関数を呼び出す

サンプル

<script type="text/javascript">
function funcCounter() {
    var $num = 0;
    return function() { // 無名関数
        $num += 1;
        return $num;
    }
}
var varCounter = funcCounter();
document.write( varCounter() + "<br />" );
document.write( varCounter() + "<br />" );
document.write( varCounter() + "<br />" );
</script>

↓↓↓出力結果↓↓↓

スポンサード リンク

カテゴリー: JavaScript, ユーザー定義関数, リファレンス パーマリンク