自分自身を呼び出す再帰関数の例

sample0096.htmlをわずかだけ変更して再帰関数とした例。
sample0096.htmlの

return (response == answer) ? correct : incorrect

を、

return (response == answer) ? correct : quiz(question)

に変えただけ。
正しい答えを入力しないとプロンプトダイアログは閉じない。
答えが正しくないと、quiz(question)、つまり自分自身が実行される。


実行結果


ヘッダ部分
<SCRIPT LANGUAGE="JavaScript">
function quiz(question)	{
	var answer = eval(question) + ""
	var msg = question + "の答えは?"
	var correct = "正解です"
	var incorrect = "不正解です"
	var response = prompt(msg, "")
	return (response == answer) ? correct : quiz(question)
}
</SCRIPT>

ボディ部分 <SCRIPT LANGUAGE="JavaScript"> document.write(quiz("4+4")) </SCRIPT>