アカウント名:
パスワード:
Javascriptでajaxだして、その結果をみてまたajaxだして、...というプログラムは再帰にせざるを得ない。エディタが一畳分くらいの面積で全部を見渡せるほどの注意力があれば非同期ハンドラを入れ子にすればいいのかもしれないが。
それ以外にもDOMトラバースとか、再帰でやる方がコードが見やすい。
みんなもそうだよね?
再帰じゃなくて入れ子です。完了ハンドラを呼ぶ前に関数抜けて、イベントによって呼び出しとかのが多いんでは無いかと。関数の中で関数呼んでるわけじゃないです。関数型言語だと実際に呼び出しが入れ子にならん場合もありますが、それは言語実装の話で副作用もまず無いし関係ないです。
その入れ子はイベントドリブンを介して間接的に継続してたりするので古典的再帰とはちょっと性質が異なります。別のイベント処理が間で呼ばれる、それも同一スレッドで、なんてことも良くありますし。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
クラックを法規制強化で止められると思ってる奴は頭がおかしい -- あるアレゲ人
日常的に使っている (スコア:0)
Javascriptでajaxだして、その結果をみてまたajaxだして、...
というプログラムは再帰にせざるを得ない。
エディタが一畳分くらいの面積で全部を見渡せるほどの注意力があれば非同期ハンドラを入れ子にすればいいのかもしれないが。
それ以外にもDOMトラバースとか、再帰でやる方がコードが見やすい。
みんなもそうだよね?
Re:日常的に使っている (スコア:0)
再帰じゃなくて入れ子です。
完了ハンドラを呼ぶ前に関数抜けて、イベントによって呼び出しとかのが多いんでは無いかと。
関数の中で関数呼んでるわけじゃないです。
関数型言語だと実際に呼び出しが入れ子にならん場合もありますが、それは言語実装の話で副作用もまず無いし関係ないです。
その入れ子はイベントドリブンを介して間接的に継続してたりするので古典的再帰とはちょっと性質が異なります。
別のイベント処理が間で呼ばれる、それも同一スレッドで、なんてことも良くありますし。