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

Здесь описаны лишь "настоящие" функции JavaScript (не являющиеся методами каких-либо объектов): Если нужной вам функции здесь не оказалось, ее стоит поискать среди JavaScript-методов, реализованных для следующих объектов:

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("П"):

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