2013-10-03 16 views
26

だから私はjavascriptはtrueを返すか、falseを返します。

<script> 
function CallSomeFunction() 
{ 
    //function body 
} 

$(document).ready(function() { 
callSomeFunction(); 
return false; 
}); 

および他の時のような何かをするJavaScriptコードの多くは(いくつかの自分自身を書かれている)を参照してください。

callSomeFunction(); 
return true; 

は基本的に私は、真の使用を理解したことがありませんがJavaScriptの関数呼び出しの後にtrue/falseを返します。私はちょうどその魔法のようなものを想定しました。

私は理由を知りたいのですか? JavaScript関数を呼び出した後、trueを返すかfalseを返すのはなぜですか?

+7

状況によって異なります。アクションをキャンセルしている可能性があります。 AKA 'onclick =" return false "'は、クリックがデフォルトのアクションを実行するのを止めます。 – epascarello

+1

関数は値を返すことができます。いくつかのことは、その戻り値で何かを行います。それは本当にそれが言うこととは別に、特にそれ自身で何かを意味するものではありません。 – Ryan

+0

この質問は同様に役立つかもしれません[何がonclickイベントにfalseを返す効果ですか?](http://stackoverflow.com/questions/128923/whats-the-effect-of-adding-return-false-to- an-onclick-event) – light94

答えて

23

このコードを見ると、フォーム、ボタン、入力、およびそのような種類のイベントハンドラの習慣に慣れている人が多いと思います。あなたが何か持っている基本的

、:真

<form onsubmit="return callSomeFunction();"></form> 

または

<a href="#" onclick="return callSomeFunction();"></a>` 

callSomeFunction()リターンを、そして formまたは aが、それ以外の場合はしませんが、提出します。

関数の結果としてtrueまたはfalseを返す他の明白な一般的な目的は、ブール値を返すと予想されるためです。

+3

ポイントを渡してくれてありがとう...また、http:// css-tricksというわかりやすいリンクを見つけました。com/return-false-and-prevent-default/ – oliverdejohnson

15

あなたのコードは文脈から外れている可能性があります。あなたはこのようなコードを意味する場合

は:

$('a').click(function() { 
    callFunction(); 
    return false; 
}); 

リターン偽は、クリックイベントにfalseを返します。これは、リンクに従うように、イベントに続くイベントを停止するようにブラウザに指示します。前の関数呼び出しとは何の関係もありません。 Javascriptは上から下に多かれ少なかれ実行されるため、行は前の行には影響しません。

+2

"Javascriptは上から下に多かれ少なかれ実行されます" - ホイストが含まれる場合を除いて:)この回答には適用されません。 –

10

trueまたはfalseを返すと、実行を続行するか、すぐに停止するかが示されます。だからたとえば今

<input type="button" onclick="return func();" /> 

(FUNC場合)は、クリックイベントが実行されることはありません飽きないだろう。この

function func() 
{ 
// do something 
return false; 
} 

のように定義されています。逆にtrueが返された場合は、clickイベントが常に実行されます。

関連する問題