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