На этом шаге мы рассмотрим встроенные функции JavaScript.
Помимо функций, определяемых пользователем, в программах JavaScript можно использовать еще так называемые встроенные функции. Эти функции встроены в интерпретатор JavaScript, т.е. они объявлены и реализованы внутри него.
Все встроенные функции перечислены в таблице 1.
Функция | Описание |
---|---|
escape (<строка>) | Возвращает строку в URL-формате, т.е., например, все буквы русского алфавита заменяет их шестнадцатеричными кодами, оставляя без изменения буквы латинского алфавита и цифры |
eval(<строка>) | Вычисляет выражение, находящееся в <строке>, как если бы оно находилось в коде программы |
isFinite(<выражение>) | Проверяет, является ли <выражение> конечным числом. Значение false возвращается в случае, если <выражение> является не числом или бесконечностью. В противном случае - true |
isNaN(<выражение>) | Возвращает true, если <выражение> является не числом (т.е. бесконечностью или ошибкой, NaN (Not a Number) - не число), и false - если число |
parseFloat(<строка>) | Преобразует <строку> в число с плавающей запятой. Если <строка> не может быть преобразована, то возвращает NaN |
parseInt (<строка>,<основание>) | Преобразует <строку> в целое число системы счисления, определяемой <основанием>. По умолчанию используется десятичная система счисления. Если <строка> не может быть преобразована, то возвращает NaN |
unescape(<строка>) | Декодирует строку, закодированную функцией escape |
Первую и последнюю из перечисленных функций мы использовать сейчас не будем, так как они применяются, чаще всего, при организации взаимодействия браузера и сервера. При передаче данных от сервера к браузеру и наоборот не все символы можно передавать в их естественном виде. Так, например, буквы русского алфавита передаются в виде %XX, где XX - ASCII-код русской буквы. Таким образом, функции escape() и unescape() используются для кодирования/декодирования строк для передачи по компьютерным сетям.
Приведем примеры использования остальных функций:
isFinite ("123") //результат true isFinite ("123a") //результат false isFinite ("1/3") //результат false isFinite (1/3) //результат true isFinite ("4/0") //результат false isFinite (4/0) //результат false isNaN(12) //результат false isNaN("12") //результат false isNaN("ab12") //результат true isNaN("12px") //результат true isNaN(true) //результат false isNaN(false) //результат false parseFloat("1.2") //результат 1.2 parseFloat("-1.2") //результат -1.2 parseFloat("12") //результат 12 parseFloat("12px") //результат 12 parseFloat("двенадцать") //результат NaN parseFloat("f8") //результат NaN parseInt("1.2") //результат 1 parseInt("-3.8") //результат -3 parseInt("3") //результат 3 parseInt("3f") //результат 3 parseInt("f3") //результат NaN parseInt("1000",2) //результат 8 parseInt("1000","2") //результат 8 parseInt("3","2") //результат NaN
Для иллюстрации работы функции eval() приведем небольшой скрипт:
<HTML> <HEAD> <TITLE>Фунция eval()</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-- var x = "y=(y<8)?y+3:y-5;"; var y = 2; eval(x); alert ("y="+y); //--> </SCRIPT> </HEAD> <BODY> </BODY> </HTML>
При его выполнении на экране появится диалоговое окно, в котором будет выведено:
y = 5
На следующем шаге мы рассмотрим функции ввода/вывода.