JavaScriptでの関数定義について
JavaScriptでの関数定義には、以下の3通りがあります。
1は、昔ながらのC言語風の定義です。
2は、今時の無名関数と云われる定義です。
3は、実行時に最終引数の文字列ロジックが評価されるので、動的に処理を変えたい場合に用いられる定義です。
サンプル
<script type="text/javascript"> // 1のfunction文による関数定義 alert("add1="+add1(3,8)); function add1(x, y) { return x + y; } // 2の関数リテラルによる関数定義 var add2 = function(x, y) { return x + y; }; alert("add2="+add2(3,8)); // 3のFunctionコンストラクタによる関数定義 var add3 = new Function("x", "y", "return x + y"); alert("add3="+add3(3,8)); </script>
補足
1は、関数実行前に関数定義が認識されます。
2と3は、実行時に関数定義が認識されます。
2と3の違いは、2はロジック記述がリテラルなのに対して、3は文字列になっています。
そういえば、2000年か2001年ごろ、同じような記事を書いているのを思いだしました。
しかし、ずーっとJavaScriptをやっていればよかったな、と後悔する日々です・・・。
また、一から出直しです!