• ベストアンサー

関数

最近プログラミングの勉強を始めたんですけど 戻り値と引数の違いがよく分かりません ちなみに言語はJavaScriptです  よろしくお願いします

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

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 簡単に言うと引数はその関数で処理する為に必要な値。 戻り値は関数で処理した結果を戻す値。 function getValue () { return "あいうえお"; } 上の場合は引数なしで戻り値は「あいうえお」になります。 function setMessage ( msg ) { return "あいうえお" + msg; } 上の場合は引数が一つあり、戻り値は「あいうえお」に引数で渡された文字を結合したものです。 setMessage ( "かきくけこ" ); と呼んだ場合の戻り値は「あいうえおかきくけこ」になります。

vibes53
質問者

お礼

漠然とした質問なのにありがとうございました 引数と戻り値を別々に考えてたので理解できにくかったんですが 一緒に考えると分かりやすいですね あと、引数を数字でなく文字を使って説明してくれたのも分かりやすかったです

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • NTJ
  • ベストアンサー率44% (46/103)
回答No.3

これまでの回答で充分なんですが・・・ 「なぜ関数と呼ぶか?」を考えてみれば解りやすいかもしれませんね。 数学的な「関数」 x=a+b この場合、「関数」の役割は「足し算」で、関数名は「+」ですね。 そーすると、関数「足し算」へ引き渡すのが「引数」で、この場合は a と b ですね。 関数「足し算」が返してくるのが「戻り値」で、この場合は x になりますね。 (かなり馬鹿げてますが)JavaScriptの関数化してみましょう。 /** * 関数「足し算」 * * 機能:二つの数を加算して返す * * 引数: *  a : 加算する数の一つ目 *  b : 加算する数の二つ目 * * 戻り値: *  加算した結果の値 * */ function ADD(a,b){ //戻り値を収める為の変数を定義する。 var x; //演算処理 x = a + b; //演算結果を戻り値として返す。 return(x); } いかがでしょうか? 実用的な関数の場合は、上記のうちの「演算処理」部分が複雑になり、引数の数が必要に応じて増減してゆく訳ですね。 さらに演算部分が「内部的な計算」から外へ出て、ブラウザに様々な作業をさせるプログラムを呼び出すようになると、たとえば画面表示や画面遷移などを行うようになってゆくって訳です。

全文を見る
すると、全ての回答が全文表示されます。
  • Trick--o--
  • ベストアンサー率20% (413/2034)
回答No.2

戻り値は、その関数が「返す値」 メニューを選ぶとレシピを印刷する機械を考えましょう。 この機械が「関数」です 選んだメニューが「引数」です 印刷されたレシピが「戻り値」です ……また微妙な喩えだな……

vibes53
質問者

お礼

回答有難うございました 最近プログラムの学校に通い始めて、慣れない考え方ばかりなんで 僕もよく日常生活のことに置き換えて考えることがあるんですよ 見事な例えで分かりやすかったですよ

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBAでの戻り値と引数について

    最近VBAでプログラムを勉強しています。 引数と戻り値について教えてください。 定義としては、 引数:プロシージャに渡される定数、変数、および式。 戻り値:呼び出し元に処理の結果を戻す値。 となっているのですがいまいちピンときません。 SubプロシージャとFunctionプロシージャでその違いがあると思うのですが、具体的にどれが引数でどれが戻り値なのかわかりません。 他のプログラミングも全く経験がない初心者で初歩的な質問ですみませんがご教授お願いします。

  • 関数と引数の関係とは?

    只今ゼロからプログラミングの勉強をしています。 言語はC言語を習得したいと思ってます。 (将来的にはJavaも!) す~っごく初歩的な質問で申し訳ないんですが 関数とは何でしょうか? 引数とは何でしょうか? またその関係について、非常にわかりやすく 簡単に教えていただけないでしょうか? よろしくお願いします。

  • C言語の関数を分かりやすく説明してください。

    C言語を学習しています。 C言語の入門書を読んでいて、どうしても関数のこと(引数とか戻り値とか自作関数についてのこと)が分かりませんでした。ネットで調べてみたりもしたのですが分かりませんでした。 かみ砕いて説明していただけるとありがたいです。

  • 引数 戻り値 return文について

    今、C言語を初めて勉強してます。 勉強していて、引数と戻り値、return文 についてよくわかりません。 どなたか詳しく素人にもわかるように教えて 頂けないでしょうか?よろしくお願いします。

  • 関数の実引数と仮引数の扱いがわかりません

    プログラミング初学のものです。 関数の実引数と仮引数の扱いが、 今一つわかりません。 どっちにどう表記するのか、はっきり理解しておりません。 どうやって理解すればよいのでしょうか。 ちなみに、扱っているはC言語です。 ご経験者の方、どうぞよろしくお願いします。

  • JSの高階関数とは?

    高階関数とは? 「関数を引数、戻り値として扱う関数」のことを高階関数と呼びます。 と聞いたのですが、関数が他の関数の引数として、ないしは戻り値とし使われている場合その引数、戻り値の関数のことを高階関数というのでしょうか? するとコールバック関数は引数として関数を使う場合のようですが、半分被りますよね?

  • 関数引数に対する制限値チェック方法

    引数に対する制限値チェック方法  プログラミング(組み込み系C言語)関数作成時にいつも私が迷ところなのですが、  関数の引数に対する制限値(範囲外)チェックどうするか、次の(1)、(2)で悩んでます。。   【1】関数内で制限値チェックで行い、制限値外であれば戻り値でエラーコードを返す。   【2】関数呼び出し時に、引数となる値(変数)をチェックし、制限値内であることを確認してから、関数を呼び出す。  上記の【1】、【2】の方法どちらがよいでしょうか?  状況にもよるとは思うのですが、その場合はどういった状況時に(1)||(2)がよいのか教えてください。  (【3】もあればお願いします。)  --【1】がお勧めの場合の質問  (1)本関数での"結果"を返したいときどうすればよいかアドバイスください。     戻り値("結果")と、エラーコードを兼用するのはなんかイヤです。。     エラーコード付き関数は、全て同じ戻り値(1:OK時、-1:NG時 みたいに)     としてまとめたいからです。  (2)極端にほとんどの関数の戻り値を、OK/NG とす。これってどうですか?、 ///////////////////////  【1】、【2】の利点、欠点を僕なりに考えてみました。  ##【1】の利点/欠点  利点:   ・本関数呼び出し時に、毎回制限チェックをしなくてよくなる。    (汎用的に様々な場面で、使用するのであればこれは良い利点だと思います。)  欠点:   ・戻り値のとして、エラーコードを返さなくてはならないため、本関数での結果を返したい場合、    以下方法をとらないといけない。      1、引数をポインタとして、その引数で値を返す。      2、戻り値として、エラーコードと兼用して返す。        (例:エラー時の戻り値 = 0、正常にの戻り値 = 1~ 255)  ##【2】の利点/欠点  利点:   ・エラーコードを返す必要がなくなるため、戻り値が有効利用できる。  欠点:   ・関す呼び出し毎に、制限チェックが発生し、制限チェック忘れが発生する。    (汎用的に使うにのであればなお・・・)

  • C言語によるガンマ関数の記述

    今、C言語を用いてガンマ関数を計算する方法を模索中でです。 理想的にはガンマ関数の引数に数値を入れたら戻り値を返すというのがいいのですがそうもうまくいかないと思います。 そこで以下のような形で整数の場合と非整数の場合で作ることを考えています。しかし、引数が整数のときはわかるのですが、非整数のときがわかりません。どうしたらよいでしょうか。 以下に関数の概要を掲載します。 ==========関数の概要=========== 関数名:Gamma(x) 戻り値:double 引数:x[double] 1)引数が0より大きい整数(1,2,3...)のとき   階乗の自己回帰文を使用して計算 2)引数が0より大きい非整数の場合 ==========▲ここまで==========

  • JavaScriptを1から勉強したいのですが。

    こんにちは。 当方、1からJavaScriptを勉強したいと思っています。ただ、その勉強する理由はいずれPHPをホームページ内に埋め込んでいきたいと思っていまして、そのためのプログラミング言語の入門としては、JavaScriptがよいと聞いたことがあります。そのために、プログラミングの初歩としてJavaScriptから入っていきたいと思っています。 そこで、そういった基礎を学べるような書籍をぜひ教えていただきたいと。 ちなみに、HTML、CSSは大体タグ打ちできます。ソフトは、DreamweaverとFireworksを使っています。JavaScriptはサンプルなどから引っ張ってきて、それを変更したりして、今までホームページ内に埋め込んでいました。 よろしくお願いします。

  • main関数について

    最近C言語を勉強し始めた者です。 main関数について分からないことがあるので質問致します。main関数は自作関数ですよね。ということは自由に引数を決めていいのですか?つまり int main(int argc , char *argv[]) 以外の引数を決めることは出来るのでしょうか。