変数の使い方やeval()メソッドなど
プレンティスホールの「JavaScript入門」にあったサンプルに手を入れたもの。
本によって、スタイルというか、感じがちがうということで載せた。
変数をうまく使っていること、
return (response == answer) ? correct : incorrect
で、correctとincorrectの変数の値を関数の返値にしていること
eval()で文字列の"4+4"を計算して数値に変換していることなどが特徴
var answer = eval(question) + "" の最後の""は、
eval()で得られた計算結果の数値を文字データにするため
prompt()の返値が文字データなので、文字と文字を比較できる。
もしも""がないと、答えに数値以外を入力されたときエラーになる。
実行結果
ヘッダ部分
<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 : incorrect
}
</SCRIPT>
ボディ部分
<SCRIPT LANGUAGE="JavaScript">
document.write(quiz("4+4"))
</SCRIPT>