質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

1032閲覧

JavaScriptの関数について教えてください

kanta-

総合スコア13

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2017/09/23 12:51

JavaScriptの関数について教えてください。

function 関数名 (引数) {
実行する処理
return 戻り値
}
この形はわかりますし、
functionで関数を書くことを決めて
関数名を書くところまではわかります。

その後の引数はどのようなものなのでしょうか。
どういったときに入れるのでしょうか。
また、引数には変数や関数など、なんでも入れられるのでしょうか。

その後の実行する処理はどれに対して実行するのでしょうか。
それともこの考え方自体が間違えで、どれに対してではなく、関数単体で処理が実行される場面もあるのでしょうか。

また、戻り値とはどこに戻るのでしょう。
consolに出てくるのでしょうか?

考えても考えても堂々巡りで、、、、
わかりやすく説明してくださる方、お願いします、、、

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

数学の知識があれば説明しやすいんですけど。。(^ ^;

理解しておられるということですが、自己流に全部説明してみようと思います。もし「わかってるよ!!」って感じでしたらすみません。。なるべく質問の直接的な答えとなりそうな部分は太字になるようにしました。

簡単にいうと関数とは「入力を与えると出力を返す函(箱)」といったイメージのものです。(ですからもともとは函数と書いたそうですが、現在では関数と書きます。)

う〜んそうですね。。電子レンジを想像してみてください。この場合、

  • 温めたいもの -> 処理したい入力
  • 電子レンジ -> 関数
  • 温まったもの -> 処理結果となる出力

といった対応関係があります。

電子レンジと違い、プログラミングにおいて温めたいもの、入力(引数)はデータだけでいいですから、引数に与えられた変数は変化しません。

(意図的に変化させるように処理を書くこともできますが、あんまり無いです。しかも変化させられるのは配列等が引数に入った時ですから、普通は意識しなくてかまいません。忘れてください。)

そのためその点は安心してください。(何を?笑)

ちなみに質問者様の仰った通り、引数には何が入っても構いませんが、処理内容によってはエラーになります。

そこは関数の仕様を調べておけば大丈夫です。

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がない関数には例えばalertconsole.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 13:29

編集2017/09/23 14:50
namnium1125

総合スコア2043

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kanta-

2017/09/23 15:17

とてもわかりやすい説明ありがとうございます!! ある程度理解することができました。 あとは色々な形に触れて慣れていきたいと思います。 ただ今後もわからないことが多々あると思いますので、 今後ともよろしくお願いいたします!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問