eval
Синтаксис:
eval(выражение)
eval('строка')
Действие
Вычисляется значение выражения, стоящего в скобках.
Если это значение не является строкой, то оно и считается значением функции
eval
.
Если же значение выражения в скобках есть строка,
то строка интерпретируется и выполняется
(точно так же, как любой другой фрагмент JavaScript-кода).
В этом случае значением функции
eval
считается значение последнего из выражений,
вычисленных при выполнении JavaScript-кода.
Пример:
eval('1-2+3') // результат: число 2 eval('1'+'4') // результат: число 14 eval('1'+'+4') // результат: число 5 eval('1'+'-4') // результат: число -3 eval(5>7) // результат: false eval('confirm("Закончить?")') // результат: true или false
escape
Синтаксис:
escape('строка')
escape(выражение)
Действие
Аргументом функции escape
должна быть строка или строковое выражение.
Функция escape
преобразует строку следующим образом:
цифры, латинские буквы и символы + - * / . _ @
остаются без изменения, а все остальные символы заменяются
на комбинации %XX
,
где XX -
шестнадцатеричный код соответствующего входного символа.
Восстановить первоначальный вид строки можно
с помощью функции unescape
.
Пример:
escape("It's me!") // результат: It%27s%20me%21В новых браузерах, поддерживающих работу с Unicode-символами, функция
escape
ведет себя по-новому: если на входе Unicode-символ, то
escape
возвращает последовательность
%uXXXX
,
где XXXX -
Unicode-кодировка входного символа.
На русские буквы функция
escape
действует по-разному в разных браузерах (в зависимости от того,
поддерживается ли браузером Unicode и представлена ли
русская буква в Unicode-кодировке).
Вот, например, результаты выполнения оператора
escape("П")
:
%u041F
(Internet Explorer 4)
%CF
(Netscape 4.5)
unescape
Синтаксис:
unescape('строка')
unescape(выражение)
Действие
Функция unescape
позволяет восстановить первоначальный вид строки,
которая была преобразована функцией escape
.
Аргументом функции unescape
должна быть строка или строковое выражение.
Функция unescape
преобразует строку следующим образом:
если встречаются комбинации %XX
,
где XX -
две шестнадцатеричные цифры,
то каждая такая комбинация заменяется на символ с кодом
XX
.
В остальном строка не меняется.
(В браузерах, поддерживающих работу с Unicode-символами,
функция unescape
,
кроме комбинаций %XX
,
отлавливает также комбинации %uXXXX
;
см. выше описание функции escape
.)
Пример:
unescape("It%27s%20me%21") // результат: "It's me!"
parseFloat
Синтаксис:
parseFloat('строка')
parseFloat(выражение)
Действие
Аргументом функции parseFloat
должна быть строка или строковое выражение. Результат функции есть
число, десятичной записью которого является данная cтрока (или ее начальные символы).
Если начальные символы строки-аргумента невозможно "прочитать" как десятичное число,
результаты будут разными в разных браузерах (либо
0
,
либо
NaN
).
Примеры (справа в комментариях -
результаты):
parseFloat('1.45kg') // 1.45 parseFloat('77.3') // 77.3 parseFloat('077.3') // 77.3 parseFloat('0x77.3') // 0 parseFloat('.3') // 0.3 parseFloat('0.1e6') // 100000
parseInt
Синтаксис:
parseInt( 'строка' [, основание] )
parseInt( выражение [, основание] )
Действие
Первым аргументом функции parseInt
должна быть строка или строковое выражение. Результат функции есть целое число,
записью которого является данная cтрока (или ее начало).
Если присутствует второй аргумент
(число основание
),
то строка интерпретируется как число, записанное в системе
счисления с данным основанием.
Допустимые значения аргумента
основание
:
от 2 до 36.
Если второй аргумент отсутствует, то функция определяет основание
системы счисления по правилам языка JavaScript.
Строки с начальными символами
0x
или
-0x
интерпретируются как шестнадцатеричные числа;
cтроки с начальными символами
0
или
-0 -
как восьмеричные числа.
Все остальные строки интерпретируются как десятичные числа.
Если начальные символы строки-аргумента невозможно "прочитать" как целое число,
результаты будут разными в разных браузерах (либо
0
,
либо
NaN
).
Примеры (справа в комментариях -
результаты):
parseInt('123.45') // 123 parseInt('77') // 77 parseInt('077',10) // 77 parseInt('77',8) // 63 (= 7 + 7*8) parseInt('077') // 63 (= 7 + 7*8) parseInt('77',16) // 119 (= 7 + 7*16) parseInt('0x77') // 119 (= 7 + 7*16) parseInt('099') // 0 (9 - не восьмеричная цифра) parseInt('99',8) // 0 или NaN parseInt('0.1e6') // 0 parseInt('ZZ',36) // 1295 (= 35 + 35*36)
Copyright © 1999, Alexei Kourbatov