JavaScript関数イディオムを分かりやすく解説している教科書が見当たらないので、自分用にメモしておく。
なおputs関数は以下のJavaSciprt REPL環境で動作させた場合を想定した環境独自の関数である。
JavaScript REPL
1.グローバル関数を定義し呼び出す
// squareはグローバル関数 function square(x){ return x*x; } // resultはグローバル変数 var result = square(4); puts(result); // 16
2.グローバル関数定義をグローバル変数にセットし呼び出す
// squareはグローバル変数 var square = function(x){ return x*x; }; var result = square(2); puts(result); // 4
3.オブジェクトに関数を定義し呼び出す
// utilsはグローバルオブジェクト var utils = { add: function(x,y){ return x+y; }, multiply: function(x,y){ return x*y; } }; var result1 = utils.add(2,3); puts(result1); // 5 var result2 = utils.multiply(2,3); puts(result2); // 6
4.無名関数内に定義し呼び出す。
(function() { // squareは関数スコープ function square(x) { return x*x; } var result = square(3); puts(result); // 9 }());