関数とfalse



0   名前: メグ : 2006/04/04 04:11
関数でfalseを返す、というのは結局どういうことなのですか。
意味がよくわかりません。
実行しないということはわかるのですが、理屈が・・・

1   名前: Pid : 2006/04/04 04:11
何のことを仰っているのかイマイチ不明なので,憶測で回答します。

JavaScript 1.3 では,リンク関連要素で click イベントが発生した場合,イベントハンドラの戻り値によってリンクを辿るかどうかを決定すると定義されていました[*]。

・true を返したら,続いてリンクを辿る。
<a href="sample" onclick="return true;">..</a>
a.onclick = function (event) { return true; }

・false を返したら,リンクを辿らない。
<a href="sample" onclick="return false;">..</a>
a.onclick = function (event) { return false; }

同様にして,利用者の操作による「本来の動作」を抑制することもできます(フォームデータ提出の停止や右クリック禁止など)。この仕様が,現在でもまだ多くのブラウザで実装されているということではないかと。

----------
[*] http://devedge-temp.mozilla.org/library/manuals/2000/javascript/1.3/guide/evnt.html

2   名前: 匿名希望 : 2006/04/04 04:11
function test1(){
return false;

}
function test2(){
return 1000;
}
function test3(){
return 'Hello World!';
}

それぞれalert(test○())でどうなるか確認してみて下さい。

3   名前: 匿名希望 : 2006/04/04 04:11
すいません書きかけで投稿してしまいました。
function test(){
return;
document.body.style.color='red';
}
window.onload=test;

falseをreturnしようが、数値、文字列をreturnしようが、
returnされた時点で関数から抜けるので、以降の処理は実行されません。
関数から抜けるついでboolean値を返してるとでも言いましょうか。
イベントハンドラでのreturnに関してはPidさんが説明してくれてます。

一覧へ戻る