下記サンプルコードのreturn result;というのはどこに値を返しているのでしょうか。
また、return alert(result);とすれば値が表示されるようになりますが、
この場合returnは必要なのでしょうか。returnの使い方がいま一つ分かりません。
サンプルコードはhttps://developer.mozilla.org/ja/Core_JavaScript …からとってきました。
<script>
function myConcat(separator) {
var result = "";
// 区切りでない引数を反復する
for (var i = 1; i < arguments.length; i++)
result += arguments[i] + separator;
return result;
}
// "red, orange, blue, " を返す
myConcat(", ", "red", "orange", "blue");
// "elephant; giraffe; lion; cheetah; " を返す
myConcat("; ", "elephant", "giraffe", "lion", "cheetah");
// "sage. basil. oregano. pepper. parsley. " を返す
myConcat(". ", "sage", "basil", "oregano", "pepper", "parsley");
</script>
No.2ベストアンサー
- 回答日時:
こんにちは。
関数内の処理の終了時、呼び出し元に戻すのがreturnになります。
このサンプルスクリプトの場合は
var value = myConcat(", ", "red", "orange", "blue");
にするとvalueに関数内のresultの内容が返ってきます。
myConcat(", ", "red", "orange", "blue");
のみで呼び出した場合、戻ってきた値が使われていないので必要あるの?という疑問が出てきます。
例えば入力チェク等だとtrueかfalseを返したりします。
function isCheck ( val ) {
return val === '';
}
var isFlag = isCheck ( '' );
にすれば呼び出し元のisFlagにはval===''で評価した値が返ってきます。(この場合はtrue)
あとは関数の処理を抜ける場合にこんな使い方もあります。
function isCheck ( val ) {
if ( val === '' ) return;
alert ( val + 'は空文字ではありません' );
}
この場合valが空白だとisCheckの処理を中止して呼び出し元に戻ります。
returnは
1)関数内で処理した戻り値を変数として格納する。
function tashizan(n1,n2){
return n1+n2;
}
var val=tashizan(1,1);
alert(val);//2
2)入力チェクに使える。
function isCheck ( val ) {
return val === '';
}
var isFlag = isCheck ( '' );
3)関数内での処理を中止させ、呼び出し元へ戻させる。
function isCheck ( val ) {
if ( val === '' ) return;
alert ( val + 'は空文字ではありません' );
}
の3つの使い方があるのですね。
なんとなく分かりました。使い慣れて理解を深めていきたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript 追加ボタンを押した際に ok ボタンを押した場合のみ入力値が追記されるようにしたいです 6 2022/05/29 09:57
- JavaScript JavaScriptの即時関数の書き方 1 2022/11/29 09:52
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL php テーブルを作れない 2 2022/11/17 18:22
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
return trueとreturn falseの用...
-
COBOLの数字チェック
-
ラジオボタンのNullチェック
-
フォームの入力チェックをする...
-
IE7のJavascriptで return fals...
-
Visual Studioのデザインでの非...
-
form の onSubmit がコールされ...
-
JavaScriptでデータ送信
-
slickのレスポンシブ > center...
-
変数の値によってsubmit後の動...
-
送信フォームの入力内容チェッ...
-
テキストボックスに数字しか入...
-
未入力のラジオボタンに、alert...
-
JavaScriptde途中で、「exit」...
-
追加ボタンを押した際に ok ボ...
-
<JavaScript>tableタグを入力不...
-
hiddenのvalueの値を変えたい
-
プルダウンで選択すると、DBの...
-
javascriptでASPにデータを渡す
-
selectを変更不可にしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
return trueとreturn falseの用...
-
正規表現で複数マッチ条件で悩...
-
ラジオボタンのNullチェック
-
slickのレスポンシブ > center...
-
COBOLの数字チェック
-
JavaScriptde途中で、「exit」...
-
チェックボックスの有無判定
-
未入力のラジオボタンに、alert...
-
コピペを禁止するtextarea
-
テキストボックスに数字しか入...
-
フォームの入力チェックをする...
-
ドラッグ&ドロップ禁止について
-
JavaScript ログアウト処理
-
ドロップダウンリストボックス...
-
【javascript】 年齢計算
-
Visual Studioのデザインでの非...
-
「本当に削除しますか」が正常...
-
リロードしないようにするには
-
JSのみで入力→確認→メールで送...
-
プルダウンメニューを選択して...
おすすめ情報