В мире компьютерных игр
WWW.TEKCT.RU
Содержание
Предыдущий раздел | Следующий раздел

4.4. Стандартные функции

Функции для создания модальных окон

alert

Вывод на экран окна с сообщением (рис. 4.1). Эта функция может использоваться как для отладки, так и для организации диалога с пользователем.
Примеры:
alert("Значение переменной n " + n);
alert("Зашли в ветвь else");
alert("Вы не ввели адрес!");

confirm

Вывод на экран окна с сообщением и двумя кнопками: OK и Cancel (в русифицированной системе OK и Отменить). Эта функция может использоваться как для отладки, так и для организации диалога с пользователем. В зависимости от того, какую кнопку нажмет пользователь, функция возвращает значение true или false соответственно.
Шаблон:
переменная = confirm("Сообщение");

prompt

Вывод на экран окна со строкой ввода. Функция возвращает значение введенной пользователем строки. Несмотря на то, что пользователь вводит текстовые данные, они могут быть впоследствии конвертированы в любой тип. Можно вводить числа, даты и даже последовательности с разделителем для заполнения массива.
Шаблон:
переменная = prompt("Подсказка", "Текст по умолчанию");
Пример. Ввод фамилии, имени и отчества с заполнением соответствующего массива. Вид окна показан на рис. 4.3.
<SCRIPT language="javascript">
m1 = new Array();
s1 = prompt("Введите Фамилию, Имя и Отчество \n
Например: Петров Илья Сергеевич", "");
// убираем возможные пробелы в конце
while (s1.length != 0 && s1.substr(s1.length - 1,1) == " "){
s1 = s1.substr(0, s1.length - 1);
}
// проверяем правильность ввода
if (s1.length == 0) {
alert("Вы ничего не ввели!");
}
else {
m1 = s1.split(" ");
if (m1.length != 3) {
alert("Вы ввели неправильные данные!");
}
else {
alert("Спасибо!"); // все правильно
}
}
//alert(m1);// используем для отладки
</SCRIPT>

Рис. 4.3. Окно для ввода текста

Функции общего назначения

eval

Аргумент функции представляет собой выражение, которое преобразуется в строку, которую можно использовать в коде JavaScript как команду. Ряд броузеров ранних версий не поддерживают эту функцию.
Например, данный код
n = 1;
document.images.image1.src = eval("c" + n + ".src");
приводит к тому же результату, что и код
document.images.image1.src = c1.src;

isFinite

Проверка, является ли аргумент числом. Если число задано в строковом формате, оно преобразуется в числовой формат. Например, выражение isFinite("1") возвращает true.

isNaN

Проверка условия NaN, которое расшифровывается как «not a number», «не число». Ниже приведены примеры логических выражений.
isNaN(1) // false
isNaN("1") // false
isNaN("a") // true

parseFloat

Преобразование строкового аргумента в число с плавающей точкой.
Пример:
n = "25" + "E-3";
alert(parseFloat(n)); // Вывод на экран: 0.025

parseInt

Преобразование аргумента к целочисленному значению.
Шаблон:
parseInt(строка [, система_счисления])
Пример 1. Определение номера версии броузера с отбрасыванием дробной части:
parseInt(navigator.appVersion)
Пример 2. Приведение числа в определенной системе счисления к числу в десятичной системе. Первый аргумент функции может быть задан не в десятичной системе.
Допустим, существует переменная:
n = "25.357";
Тогда выражение parseInt(n, 8) возвратит 21. Вначале будет выполнено округление, а затем преобразование. Восьмеричное число 25 преобразуется в десятичную систему: 2*8 + 5 = 21.
Выражение parseInt(n, 16) возвратит 37. Шестнадцатеричное число 25 преобразуется в десятичную систему: 2*16 + 5 = 37.
В том случае, когда система счисления или число указаны неправильно, функция возвращает значение NaN. Например, выражение parseInt(n, 2) не может быть вычислено, потому что двоичное число может содержать только цифры 0 и 1.

Number и String

Две функции, которые преобразуют объектную величину в числовое или строковое значение.
Шаблоны:
x = Number(объект); // числовое значение
x= String(объект); // строковое значение
Пример. Преобразование текущей даты (записанной в полном формате) в строку.
d = new Date();
x = String(d);
В этом случае переменная x может принять, к примеру, такое значение:
Wed Dec 14 19:59:32 UTC+0300 2005

escape и unescape

Функция escape() преобразует строковый аргумент в строку в кодировке ISO Latin-1, где каждый символ записывается в шестнадцатеричном формате по шаблону %xx, %xxx или %uxxxx. Для тестирования возможностей функции можно использовать следующий код:
alert(escape("Тестовая строка"));
Функция unescape() выполняет обратную операцию: преобразует строковый закодированный аргумент в строку в кодировке ASCII. Например, выражение unescape("%20") возвратит пробел, а выражение unescape("F") — букву F.

Использование таймера

Метод setTimeout

Данный метод позволяет запустить некоторую функцию через заданный промежуток времени.
Шаблон:
tid = setTimeout("Функция()", t);
Значение временной задержки (t) задается в миллисекундах.
Для того чтобы таймер можно было остановить командой (методом clearTimeout), используется переменная (tid), которой метод присваивает числовой идентификатор.
Часто этот метод используют для создания некоторого непрерывного процесса. В этом случае метод должен вызываться внутри функции.
Шаблон:
function name1(){
Код функции
setTimeout("name1 ()", t);
}
Для того чтобы процесс запускался сразу после загрузки страницы, необходимо определить обработчик события:
<BODY onLoad="name1()">
Метод setTimeout можно использовать для создания таких визуальных эффектов, как бегущая строка, побуквенный вывод надписи, меняющееся изображение и других.
Пример. Создание мигающей рамки вокруг рисунка.
Если в коде Web-страницы есть элемент IMG:
<IMG src="risunok1.gif" name="img1" border=1 width=90 height=90>
то можно использовать код (а запуск функции привязать к событию onLoad) для периодического изменения цвета рамки. Один из цветов автоматически определяется как фоновый цвет Web-страницы.
flag = true;
function border_blink() {
cvet1 = document.bgColor;
cvet2 = "#20A8C0";
if (flag) {
document.img1.style.borderColor = cvet1;
}
else {
document.img1.style.borderColor = cvet2;
}
flag = !flag;
tid1 = setTimeout("border_blink()", 800);
}

Метод clearTimeout

Остановка таймера, запущенного методом setTimeout. В качестве обязательного аргумента используется идентификатор таймера.
Шаблон:
clearTimeout(tid);
Пример. Кнопка, которая позволяет вручную остановить некоторый динамический процесс:
<INPUT type="button" value="Стоп"
onClick="clearTimeout(tid)">

Метод setInterval

Этот метод похож на метод setTimeout, но может организовать периодический запуск некоторой функции через равные промежутки времени.
Шаблон:
iid = setInterval("Функция()", t);
Здесь iid — переменная, хранящая идентификатор таймера.

Метод clearInterval

Остановка таймера, запущенного методом setInterval. В качестве обязательного аргумента используется идентификатор таймера.
Шаблон:
clearInterval(iid);
Пример. Кнопка, с помощью которой можно вручную остановить некоторый динамический процесс:
<INPUT type="button" value="Стоп" onClick="clearInterval(iid)">
Предыдущий раздел | Следующий раздел

© TEKCT.RU, А. Гончаров, 2007-2022

Рейтинг@Mail.ru