Начнем с команды BODY.
<body bgcolor="white" onLoad="rand()">
На этот раз функция запускается не событием onClick в описании кнопки, а событием onLoad в команде BODY. В этом случае к тому времени, когда пользователь нажмет кнопку, число уже будет выбрано. Если сделать это по-другому, то каждый раз, нажимая на кнопку, вы будете получать новое случайное число. А оно должно оставаться одним и тем же, пока вы пытаетесь угадать.
Теперь первая функция:
function rand() {
now=new Date();
num=(now.getSeconds())%10;
num=num+1;
}
Функция выбирает наугад число из даты и времени от 0 до 9 и присваивает его num. Потом прибавляет к num единицу, чтобы выбор осуществлялся между 1 и 10. Мы делали это в прошлом уроке.
Теперь вторая функция:
function guessnum()
{guess=prompt("Угадай, какое?")
if (eval(guess) == num)
{alert("ПРАВИЛЬНО!!!");
rand();
}
else
alert("Нет. Попробуй еще раз.");
}
В памяти компьютера уже есть число, полученное через первую функцию. Вторая дает возможность угадать его. Смотрите, что происходит:
1.С помощью запроса prompt создается переменная guess (догадка). Функция eval() вычисляет или выполняет строку в скобках (выражение, команду или последовательность команд) и подставляет полученное значение вместо себя. Она не является методом какого-либо объекта, но может использовать свойства уже существующего. Обратите внимание на {фигурные скобки}. Все это очень похоже на Урок 21.
2.Переходим к IF/Else. Если ( if ) guess (догадка) равна загаданному числу num, тогда запускается команда alert("ПРАВИЛЬНО").
3.Если это не так ( else ), тогда запускается другая команда alert.
Остальное уже знакомо:
<form name="myform" action="">
<input type="button" value="Угадай" name="b1" onClick="guessnum()">
</form>
Кнопка запускает функцию, которая дает возможность угадать задуманное число.