引数を使うクロージャ

クロージャも、引数を扱える。

構文

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

サンプル

<script type="text/javascript">
function multiplyer( $numA ) {
    return function( $numB ) {  // 無名関数
        return $numA * $numB;
    }
}
var $double = multiplyer( 2 );  // 2倍にする
var $threeTimes = multiplyer( 3 );  // 3倍にする
var $tenTimes = multiplyer( 10 );   // 10倍にする
document.write( $double( 5 ) + "<br />" );
document.write( $threeTimes( 5 ) + "<br />" );
document.write( $tenTimes( 5 ) + "<br />" );
</script>

↓↓↓出力結果↓↓↓

スポンサード リンク

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