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

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

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

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

Q&A

解決済

5回答

1731閲覧

JavaScriptのreturnについて

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

0グッド

0クリップ

投稿2015/11/04 00:52

編集2015/11/04 00:58

JavaScriptのreturn文の概念がわかりません
下記のコードはreturnを使っている文と使っていない文ですが
returnを使わなくても同じ処理はできます・・・。
違いってあるのでしょうか?
下記のコードをでわかりやすく教えてください><

JavaScript

1<script> 2 function game(str){ 3 return "Game is" + str; 4 } 5 6 var data = prompt("Game Name"); 7 document.write(game(data)); 8</script>

JavaScript

1<script> 2 var data = prompt("Game Name"); 3 document.write("Game is" + data); 4</script>

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

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

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

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

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

guest

回答5

0

質問の意図は「return の意義」「関数の意義」のどちらでしょうか?
タイトルは「return について」ですが、実際には

  • return も関数もないコード
  • 関数と return のあるコード

の比較なので質問の意図が分かりづらくなっていると思います。
return の質問なら下記コードのように「違いが return の有無になっているべき」だと思います。

javascript

1function sample1 (name) { 2 return 'Game is a ' + name; 3} 4 5function sample2 (name) { 6 document.write('Game is a ' + name); 7} 8 9document.write(sample1('test')); 10sample2('test');

両コードの結果は同じですが、sample1 は出力先を document.write でなくてもよく、汎用性が高いのが利点です。

投稿2015/11/04 01:30

think49

総合スコア18164

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

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

0

return(とう言うかfunction)を使うとコードのメンテナンス性や可読性が上がります。
質問のコードだとメリットがわかりにくいのでちょっといじって

javascript

1function game(str){ 2 // 例えばここに50行ほどの処理が書かれているとする 3 return "Game is" + str; 4} 5 6var data = prompt("Game Name"); 7document.write(game(data)); 8 9var data2 = prompt("Game Name 2"); 10document.write(game(data2));

これを下でやると

javascript

1var data = prompt("Game Name"); 2// 例えばここに50行ほどの処理が書かれているとする 3document.write("Game is" + data); 4 5var data2 = prompt("Game Name 2"); 6// 例えばここに50行ほどの処理が書かれているとする 7document.write("Game is" + data2);

実際にコメントの箇所にコメントの通り50行程度の処理を書いた場合、コードの量が2倍近くになります。
また、そのコードに修正が発生した場合、修正箇所が2倍になります。
この処理が何度も呼び出される場合、更に効果があります。

参考:JavaScriptで関数を使う方法【初心者向け】 | TechAcademyマガジン

投稿2015/11/04 01:21

sho_cs

総合スコア3541

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

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

0

ベストアンサー

質問が追加されていましたね
すいません

確かに、関数を使用しなくても記載は出来ます。
こうなると、関数が解り辛いですかね?

関数は主に、同じような処理や複雑な処理の場合に使用します。
function game(str){
return "Game is" + str;
}
上記の例で頑張ってみます。
例えば、game が10箇所から使用されているとします。
後から、"Game is" を "ゲームは" に変更しようとした場合
関数になっていれば、game の中を変更すれば全て解決しますが
10箇所が、game を使用していない場合、"Game is" + data になっている場合は
全10箇所を全て修正しなければいけません。
(この場合、置換すれば問題ほぼ無いですが・・・)

この様な場合があるので、関数を使用して、結果を返しているのです。

投稿2015/11/04 01:14

trick

総合スコア366

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

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

0

return 文の概念ですか
何かしらの結果が返ってくるでは解りにくいですかね?

function game(str){
return "Game is" + str;
}
上記の場合は、与えられた引数(str)と "Game is" を結合した結果を呼び出し元に返しています。
document.write(game(data) ← ここに結果が返ってきます。);
関数を使用しない場合だと
document.write("Game is" + data);
になりますね。

例えば、2つの数値をプラスした結果を取得したい場合
(ま~このような場合にfunction にするのはほぼ無いと思いますが)

javascript

1 funtion plus(a,b){ 2 return a + b; 3 }

上記、plus に 引数 を2つ与えてあげれば、プラスした結果が返ってきます。
document.write(plus(1,2));
結果 3
こんな説明で解りますかね?

投稿2015/11/04 01:07

trick

総合スコア366

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

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

退会済みユーザー

退会済みユーザー

2015/11/04 01:18 編集

ご回答ありがとうございます すごく理解できました!!
guest

0

関数の途中で帰るときにreturn必要じゃないですか

投稿2015/11/04 02:08

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問