- + JavaScript の質問用スレッド vol.118 + [転載禁止]©2ch.net
648 :デフォルトの名無しさん[sage]:2016/01/26(火) 06:15:25.75 ID:f7tvsCeN - そこんとこだけ再帰関数化すればいんじゃね?
|
- + JavaScript の質問用スレッド vol.118 + [転載禁止]©2ch.net
651 :デフォルトの名無しさん[sage]:2016/01/26(火) 07:38:18.32 ID:f7tvsCeN - やろうとしてる処理がわからんとなんともだよな
再びswitchかけたいんならswitch対象自体を操作するんだろうから適当に書くとこんなかんじか? function recursiveSwitch( param ){ switch( param ){ case 0: param=someFunctionZero(param); break; case 1: param=someFunctionOne(param); break; case 2: param=someFunctionTwo(param); break; case 3: param=someFunctionThree(param); param=recursiveSwitch(param); break; } return param; } var target=3; target=recursiveSwitch(target); テストはしてない。function someFunctionThree() が3を返し続けないようにしないと無限ループ
|
- + JavaScript の質問用スレッド vol.118 + [転載禁止]©2ch.net
661 :デフォルトの名無しさん[sage]:2016/01/26(火) 18:17:49.94 ID:f7tvsCeN - 5.3でgotoが追加実装されたphpという言語もある
少なくとも使い方を間違えなければ有用だとは思うが… >>653はラベルと持ちまわすフラグ役の変数とforに付着させてるラベルに 同じ名前使ってるから混乱するけど、条件なしforでbreak target;するまでfor内まわしてるだけ、for(;;)はwhile(true)と似たようなもん 「3のときだけ再実行」ではなく「3以外は再実行しないでループを抜ける」って書き方で、だいたい同等の効果を得るのが>>653
|