• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javascript)

JavaScriptの関数の実行結果を比較する

このQ&Aのポイント
  • JavaScriptの関数を使用して実行結果を比較する方法について解説します。
  • プログラム1とプログラム2は同じ実行結果を返しますが、どちらが良いプログラムかについて考察します。
  • プログラム1とプログラム2は同じ動作をしますが、可読性や保守性を考慮するとプログラム1の方が良いと言えます。

質問者が選んだベストアンサー

  • ベストアンサー
  • JaneDue
  • ベストアンサー率75% (263/350)
回答No.1

var sum=~ は「関数リテラル」「匿名関数」などと呼ばれる方法です。 どちらが良いかというより発想・使い方、他好みも大きいでしょう。質問者さまの例ではあまり差は感じませんが、関数リテラルは変数として柔軟に使用できるという特徴があります。 例えば場合により表示方法を変えたいとき function sum(x,y,show){ show(x + y);} var alt = function(arg){ alert(arg);} var wrt = function(arg){document.write(arg);} でsum(10,5,alt)などとして表示方法を変数として渡したりとか。 または一度しか使用せず関数として定義するほどでもない場合など var mul = function(x,y){ return (x*y);}(5,10); alert(mul); のようにも使えます。 ただ、匿名関数は必ず定義した後ろでしか使用できない、など微妙に動作が異なるところもあります。このあたりが参考になるかと。 http://journal.mycom.co.jp/column/js/002/index.html http://www.atmarkit.co.jp/fdotnet/ajaxjs/ajaxjs02/ajaxjs02_02.html そのほか、ひとつの変数に属性/関数をまとめられる JSON形式 もあり、こちらは特に変数・関数名が他のライブラリと衝突することがなく、拡張性に優れ便利です。 var Calculate = { pi:3.14, sum:function(x,y){return x+y;}, mul:function(x,y){return x*y;} } alert( Calculate.sum(3,5) ); ※カテゴリを プログラミング > JavaScript にすればもっとよい回答が得られたかも・・・。