数学の知識があれば説明しやすいんですけど。。(^ ^;
理解しておられるということですが、自己流に全部説明してみようと思います。もし「わかってるよ!!」って感じでしたらすみません。。なるべく質問の直接的な答えとなりそうな部分は太字になるようにしました。
簡単にいうと関数とは「入力を与えると出力を返す函(箱)」といったイメージのものです。(ですからもともとは函数と書いたそうですが、現在では関数と書きます。)
う〜んそうですね。。電子レンジを想像してみてください。この場合、
- 温めたいもの -> 処理したい入力
- 電子レンジ -> 関数
- 温まったもの -> 処理結果となる出力
といった対応関係があります。
電子レンジと違い、プログラミングにおいて温めたいもの、入力(引数)はデータだけでいいですから、引数に与えられた変数は変化しません。
(意図的に変化させるように処理を書くこともできますが、あんまり無いです。しかも変化させられるのは配列等が引数に入った時ですから、普通は意識しなくてかまいません。忘れてください。)
そのためその点は安心してください。(何を?笑)
ちなみに質問者様の仰った通り、引数には何が入っても構いませんが、処理内容によってはエラーになります。
そこは関数の仕様を調べておけば大丈夫です。
javascriptの場合、
javascript
1function denshirengi(in){
2 // 処理
3 return out;
4}
っていうのは、電子レンジを設定しているようなものです。
この場合in
が入力(引数)でout
が出力(返り値)です。このコードはdenshirengi
という関数を定義しています。
in
は関数内に置ける呼称です。in
でなくとも、変数名と同じで、予約語で無ければ(既に変数名で使われていたとしても)何でもいいです。
ただ電子レンジは買っただけでは意味がありませんよね?
使ってなんぼです。使う時はdenshirengi(atatamerumono)
という風に、関数名(渡す入力)と書きます。
この時入力に変数を渡すとその中身が、データ型(0
とか1
とか"hoge"
とか)を渡すとそのものが引数に(上記の場合はin
に)入ります。
そしてreturn
の後にある値が、**処理が終わった後にdenshirengi(atatamerumono)
の部分に置き換わります。**電子レンジから温まったものが出て来たイメージです。
時にはreturn
そのもの、またはreturn
の後ろの値(返り値)が無いこともあります。その場合はundefined
が返ってきます。こういうときは言語によってはfunction
(関数)ではなくprocedure
(手続き、手順)と呼ばれたりします。
javascriptでの呼称は不明ですが、同じく関数でいいと思います。
return
がない関数には例えばalert
やconsole.log
があります。
とりあえず説明できる点は説明したつもりですが、不明な点があれば返信ください。m(_ _)m
最後に例として、二つの数を足す関数を定義してみます。
lang
1function add(a,b){ // 引数はいくつでも良い。
2 return a+b; // returnされるのはa+bの処理が終わった後なので、このように書くことが可能
3}
4
5var c = add(1,2); // add(1,2)が3に置き換わる
6alert(c); // => 3
(長文失礼しました。m(_ _)m)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/23 15:17