Wiki-учебник по веб-технологиям: JavaScript/ПредопределённыеФункции ...

Главная | |

Предопределённые функции

Оглавление документа

В JavaScript имеются предопределённые функции верхнего уровня:

1. Функция eval


Функция eval вычисляет строку кода JavaScript без ссылки на конкретный объект. Синтаксис eval таков:

eval(expr)

где expr это вычисляемая строка.

Если строка представляет собой выражение, eval вычисляет это выражение. Если аргументом является один или более операторов JavaScript, eval выполняет эти операторы. Не вызывайте eval для вычисления арифметических выражений; JavaScript вычисляет арифметические выражения автоматически.

2. Функция isFinite


Функция isFinite вычисляет аргумент для определения конечности числа. Синтаксис isFinite таков:

isFinite(number)

где number это обсчитываемое число.

Если аргумент имеет значение NaN, положительная или отрицательная бесконечность, этот метод возвращает false, иначе возвращает true.

Следующий код проверяет ввод клиента для определения конечности введённого числа.

if(isFinite(ClientInput) == true)
{
   /* специфицированные шаги */
}


3. Функция isNaN


Функция isNaN вычисляет, является ли аргумент "NaN" (не-числом). Синтаксис isNaN:

isNaN(testValue)

где testValue это вычисляемое выражение.

Функции parseFloat и parseInt возвращают "NaN", если они вычисляют значение, не являющееся числом. isNaN возвращает true, если передано "NaN" и false – в ином случае.

Следующий код вычисляет floatValue для определения, является ли оно числом, а затем вызывает соответствующую процедуру:

floatValue=parseFloat(toFloat)
 
if (isNaN(floatValue)) {
   notFloat()
} else {
   isFloat()
}


4. Функции parseInt и parseFloat


Две «разбирающие» функции, parseInt и parseFloat, возвращают числовое значение, имея в качестве аргумента строку.

Синтаксис parseFloat:

parseFloat(str)

где parseFloat разбирает свой аргумент, строку str, и пытается возвратить число с плавающей точкой. Если она обнаруживает символ, отличный от знака (+ или -), цифры (0–9), десятичной точки или экспоненты, тогда она возвращает значение до этой позиции и игнорирует этот символ и последующие символы. Если первый символ не может быть конвертирован в число, функция возвращает "NaN" (не-число).

Синтаксис parseInt:

parseInt(str [, radix])

parseInt разбирает свой первый аргумент, строку str, и пытается вернуть целое число со специфицированным основанием (radix), обозначенным вторым необязательным аргументом, radix. Например, radix 10 означает конвертацию к десятеричному числу, 8 – восьмеричному, 16 – шестнадцатеричному и так далее. Для radix свыше 10, буквы алфавита обозначают цифры больше 9. Например, для 16-ричных чисел (база 16), используются буквы от A до F.

Если parseInt вычисляет символ, который не является числом со специфицированным основанием, она игнорирует это число и все последующие символы и возвратит целое число, разобранное до этой позиции. Если первый символ не может быть конвертирован в число со специфицированным основанием, возвращается "NaN". Функция parseInt усекает строку до целочисленного значения.

5. Функции Number и String


Функции Number и String позволяют конвертировать объект в число или строку. Синтаксис этих функций таков:

Number(objRef)
String(objRef)

где objRef это ссылка на объект.

Следующий код конвертирует объект Date в читабельную строку:

D = new Date (430054663215)
// возвращается следующее
// "Thu Aug 18 04:37:43 GMT-0700 (Pacific Daylight Time) 1983"
x = String(D)


6. Функции escape и unescape


Функции escape и unescape позволяют вам кодировать и декодировать строки. Функция escape возвращает 16-ричное кодированное представление аргумента – набора символов ISO Latin. Функция unescape возвращает ASCII-строку для специфицированного аргумента – 16-ричного кодированного значения.

Синтаксис этих функций таков:

escape(string)
 
unescape(string)


Эти функции используются в основном в серверном JavaScript для кодирования и декодирования пар имя/значение в URL.

Функции escape и unescape неправильно работают с не – ASCII символами.

В JavaScript 1.5 и далее, используйте encodeURI, decodeURI, encodeURIComponent и decodeURIComponent.