- ベストアンサー
functionから抜けることができません、強制終了したいです。
function A(xxx) { B(xxx); C(xxx); } function B(xxx) { if (xxx == "yyy") {ここでBから抜けてさらにAも抜けたい。} return(xxx); } こんな時どうすればいいのでしょうか? javascriptですとexitはありませんしquitもありません。 breakも違うようです…スクリプトの強制終了はどうすれば良いのでしょうか。
- JavaScript
- 回答数3
- ありがとう数3
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
もうひとつやりたいことがわからないですけど、 やっていることは、#1とほとんど同じですけど try~catchで A("yyy"); function A(xxx) { try{ B(xxx); C(xxx); } catch(e){ //alert(e); } } function B(xxx) { if (xxx == "yyy") { throw "exit" } return(xxx); } のようには書けます。
その他の回答 (2)
- taka451213
- ベストアンサー率47% (436/922)
なんとなく気持ちはわかるが・・・、 普通にBの結果を参照(別にreturnじゃなくても、グローバル変数にフラグを持たせるとか・・・)して、C実行前に判定するのが普通なのでは? 逆に、それによって、 >>function Bを再利用したいので ができない理由がわからない・・・。 (^^ゞ
補足
スマートじゃなくて嫌です。 判定だらけでソースコードがナポリタンになってしまいます。
- taka451213
- ベストアンサー率47% (436/922)
??? function B(xxx) { if (xxx == "yyy") {ここでBから抜けてさらにAも抜けたい。} return false; } function A(xxx) { if(B(xxx)){ C(xxx); } } とかなんとか・・・。 (^^ゞ
お礼
やっぱりそうなのですかね~ function Bを再利用したいので、できればfunction B内で終了したいのですが… function B(xxx) { if (xxx == "yyy") {goto label1} return false; } function A(xxx) { B(xxx); C(xxx); label1: } とかできればいいのですが…できませんし やっぱりjavascriptで補制御の再利用性求めちゃダメって事でしょうか…
関連するQ&A
- AタグでFunctionを実行
xxx.jsというJavaScript1ファイルのyyy()というFunctionを、Aタグで実行させたくて、 <SCRIPT LANGUAGE="JavaScript" SRC="xxx.js"></SCRIPT> <A Href="JavaScript:yyy(document.all.id,document.all.name);">取込</A> と書いたんですが、オブジェクトがありません。というエラーが出てしまいます。 記述が間違っているんでしょうか?
- ベストアンサー
- HTML
- functionに括弧を使用するとエラー
Parse error: parse error, expecting `')'' in C:\XXX.php on line XX というエラーが発生します。 クラスのfunctionの引数に他のクラスを呼び出すとエラーになります。 class XXX { function XXX_XXX( $dmy = YYY:YYY_YYY() ) //ここがエラー発生行 { ・・・・・ } } class YYY { function YYY_YYY() { return 1; } } この方法は無理でしょうか? どうにかクラスを呼び出す方法が御座いましたらご教授願います。
- ベストアンサー
- PHP
- Aタグでサブミットさせない方法
以下のようにjavascriptでサブミットを制御したい場合、 return falseとしてもサブミットしてしまいます。 Aタグにおいてサブミットさせないためには どうすればよいのでしょうか。よろしくお願いします。 <a href="xxx/yyy" onclick="func();"> function func(){ var ret = confirm("xxxxxxxxx"); if(ret == false) { return false; } }
- ベストアンサー
- JavaScript
- functionから別のfunctionを実行したい
よろしくお願いします 今JavaScriptで function a(){ 処理A } function b(){ 処理B } function c(){ 処理C 処理Aをして終わり } と言うことをしたいのですが function a と同じコードをcに書くのが大変なので function cからaを呼び出して実行することができないかと考えています 検索も色々してみたのですが これと言った答えがなかったので質問しました よろしくお願いします。
- ベストアンサー
- JavaScript
- VB6,Ifから抜けるには?
If a = b then xxx If c = d then ここ! End If yyy End If zzz 上のここ!から抜け、zzz以降の処理を継続するにはどうすればよいでしょうか? Exit Subをやってしまうとプロシージャ自体から抜けてしまいます。
- ベストアンサー
- Visual Basic
- awkないでスクリプトを終了させるには?
cshで書いています。 awk内でスクリプトを終了させることはできませんか? exitと書くとawk終了となるのでその後のスクリプト内容がはしってしまいます。 どうしたらいいのでしょうか。 どなたかおしえてください。 awk '{ xxx exit }' こんなかんじです。
- ベストアンサー
- その他(プログラミング・開発)
- Javaの強制終了するコード
Javaのテスト勉強をしております。 つきましては教えていただきたいことがございます。 入力値に問題があったらプログラムを強制終了させるコードとしてテキスト中では 問題によってreturn()となっていたりSystem.exit()となっていたりします。 この二つは何が違うのでしょうか。 ご回答くださいますようお願いします。
- ベストアンサー
- Java
- ループ途中に強制終了
int main() { while(1){ 繰り返し処理} return 0; } この場合、ブレークを記入しない限り止まらないですね。 止まらない中でEnterキーを押せばループから抜け出して強制終了させるようなコマンドはありますか? 初心者なので丁寧に教えていただければ幸いです。
- ベストアンサー
- C・C++・C#
- functionの値を別のfunction へ
set_hidukeで取得した「true」を hiduke_chkにもっていく方法を教えていただけないでしょうか。 <SCRIPT language=JavaScript> function set_hiduke(){ var hiduke_input = true } function hiduke_chk(){ if(hiduke_input==true) alert("日付をいじった?") } </SCRIPT> <FORM NAME=main ACTION="★" METHOD="POST" onSubmit="return hiduke_chk()"> <INPUT TYPE="TEXT" NAME="年月日" SIZE="12" onBlur="set_hiduke();"> <INPUT TYPE="SUBMIT" NAME="Submit" VALUE="送信"></form>
- ベストアンサー
- JavaScript
- ユークリッドの互除法
ユークリッドの互除法をJavascriptで書こうとしてます。以下のように書いたのですが、うまく動きません。(45と60の最大公約数を求めるプログラム) <script> window.alert(gcd(45, 60)); function gcd(a, b){ var r=a%b; if(r==0){ return b; }else{ gcd(b, r); } } </script> undifinedとなってしまいます。どうしたら正確な答えが出るでしょうか?
- ベストアンサー
- JavaScript
お礼
やりたいことこれです~。 throw で強制終了できるのですね~ A("xxx"); function A(xxx) { try{ B(xxx); alert('A'); C(xxx); } catch(e){ alert(e); } } function B(xxx) { xxx = C(xxx); xxx = C(xxx); alert('B'); } function C(xxx) { if (xxx == "yyy") { err("xxx = yyy exit") } if (xxx == "zzz") { err("xxx = zzz exit") } alert('C'); return 'zzz'; } function err(s) {throw s;} A("xxx");の場合 alert('C'); alert('xxx = zzz exit'); A("yyy");の場合 alert('xxx = yyy exit'); と動作して alert('A');も alert('B');も実行されませんでした。 ばっちりです、非常に参考になりました。 ご回答ありがとうございました。