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

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

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

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

4278閲覧

return falseとは

shuta-a

総合スコア5

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2021/12/28 21:33

編集2021/12/30 00:42

return falseについての質問です。

$(function() { $("#q43_button").click(function(){ var val = $("#q43_val").val(); funcValReturn(val) }); function funcValReturn(val){ if(val >= 70){ var bbb = "合格"; }else{ var bbb = "不合格"; } $("p#q43_answer").append(bbb); return false; } });

この↑関数の最後になぜreturn falseをつけるのでしょうか。
jQueryでのreturun falseは親要素へのイベントの伝播を制御する、ということは分かったのですが、

html

1<input id="q43_val" type="text" /> 2<input id="q43_button" type="button" value="結果は?" /> 3<p id="q43_answer"></p>

こちらのhtmlのコード内では<p id="q43_answer"></p>の親要素がないのです。

これはC言語でいうreturn 0;と同じような意味なのでしょうか。
回答よろしくお願いします。

こちらのサイトに問題と答えが記載されております。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2021/12/28 22:20

> この↑関数の最後になぜreturn falseをつけるのでしょうか。 あなたが自分で必要と思って書いたんじゃないの?
退会済みユーザー

退会済みユーザー

2021/12/28 22:29

書いた人に聞きましょう。何か意図があるのか、単なる間違いなのか、書いた本人に聞かないと分かりません。 ただ、質問に書かれたコードだけを見る限り、意味がないですし、 > これはC言語でいうreturn 0;と同じような意味 ということはないです。
shuta-a

2021/12/28 22:30

回答ありがとうございます。
y_waiwai

2021/12/28 22:40

それをちゃんと質問に書いとこうよ。。
退会済みユーザー

退会済みユーザー

2021/12/28 22:41

ボタンが親戚である <input type="submit"> とかですと、使い方によっては意味があるとは思いますが。
shuta-a

2021/12/29 00:39

y_waiwai様、申し訳ありません。次回からは質問内容もより吟味して行います。
退会済みユーザー

退会済みユーザー

2021/12/29 02:42

> 次回からは質問内容もより吟味して行います。 質問欄は編集できるので今やってください。このコメント欄は「質問への追記・修正の依頼」の場所です。質問欄をきちんとするのは、Teratail を利用させてもらっている以上、質問者の義務でもあります。
shuta-a

2021/12/30 00:43

申し訳ございません。只今編集しました。
退会済みユーザー

退会済みユーザー

2021/12/30 00:52

質問欄に「こちらのサイト・・・」と追記されたようですが、それに 2021/12/29 07:23 のコメントに書かれた url のリンクを張ってください。 あと、質問に掲示されたコードはその記事からの転記であることも質問欄に書いてください。
guest

回答1

0

ベストアンサー

この↑関数の最後になぜreturn falseをつけるのでしょうか。

funcValReturn() での return false は意味は無いように思います。

これはC言語でいうreturn 0;と同じような意味なのでしょうか。

はい。そうです(関数の戻り値として返している、という意味で)。
単に funcValReturn() 関数の戻り値として false を返却しているということになります。
関数の呼び元が使っていないのであれば、特段、意味はありません。

意味があるとしたら、以下のように click イベントで戻り値を返すようにした場合は、return false; の場合、click イベントをキャンセルするという意味が生まれます。

JavaScript

1$("#q43_button").click(function(){ 2  var val = $("#q43_val").val(); 3  //funcValReturn(val) 4  return funcValReturn(val); 5});

funcValReturn() を用意した人に理由を聞いてみたら良いかと思います。
なんとなく、慣習で return false; を書いている気がします。

<参考>
■ jQuery return false と preventDefault() の違い
https://hacknote.jp/archives/21994/
■ 【JavaScript】return falseの意味について総まとめ。コード付で解説
https://freelance-jak.com/technology/javascript/1140/

投稿2021/12/28 22:37

編集2021/12/29 00:01
cx20

総合スコア4648

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

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

退会済みユーザー

退会済みユーザー

2021/12/28 22:45

>> これはC言語でいうreturn 0;と同じような意味なのでしょうか。 > はい。そうです。 同じではないのでは?
cx20

2021/12/28 22:58

SurferOnWww さん> > 同じではないのでは? 関数の戻り値として返している、という意味でそのように回答しました。 もし、click イベントをキャンセルするということであれば、以下のようになるかと思うのですが、認識誤っているでしょうか? ------------------------------------ $("#q43_button").click(function(){   var val = $("#q43_val").val();   //funcValReturn(val)   return funcValReturn(val); }); ------------------------------------
退会済みユーザー

退会済みユーザー

2021/12/28 23:08

C 言語の main 関数で最後に return 0; と書くことがありますが、それはプログラムが正常に終了したことを知らせる意味があります。 質問者さんが言ってるのはその事だと思ったのですが。
cx20

2021/12/28 23:41

〉C 言語の main 関数で最後に return 0; と書くことがありますが、それはプログラムが正常に終了したことを知らせる意味があります。 あぁ、なるほど。そういう意味ですね。 main 関数のようにプログラムの正常終了を返す、という意味は無いですね。 自分の回答の意図としては、 「戻り値を返しているけれど、使っていない」という意味で「同じ」という回答をしました。 分かりづらくてすみません。。 C言語の main 関数の return 0; も、慣習的に書いているだけで、戻り値を使ってないケースも多いですし、 今回の JavaScript の return false; も、同様に慣習的に書いているだけでは、と思いました。
shuta-a

2021/12/29 00:37

こちらの説明不足で誤解を招いてしまい申し訳ありません。 解説ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問