Использование Встроенных функций
JavaScript имеет несколько функций "верхнего уровня", встроенные в язык. Это следующие функции:
Функция eval
Аргумент встроенной функции eval - строка. Строка может быть - любая строка, представляющая выражение JavaScript утверждение, или последовательность утверждений. Выражение может включать переменные и свойства существующих объектов.
Если аргумент представляет выражение, eval вычисляет выражение. Если аргумент представляет один или большее количество JavaScript утверждений, eval вычисляет утверждения.
Эта функция полезна для оценки строки, представляющая арифметическое выражение.
Следующий пример присваивает ввод в текстовой области, применяет eval функцию и показывает результат в другой текстовой области. Если вы напечатаете численное выражение в первой области, и нажимаете на кнопку, выражение будет вычисленно. Например, введите "(666 * 777)/3", и нажмите на кнопку, чтобы увидеть результат.
function compute(obj) {
obj.result.value = eval(obj.expr.value)
}
Enter an expression:
Result:
function compute(obj) {
obj.result.value = eval(obj.expr.value)
}
Enter an expression:
Result:
Функция eval не ограничена оценкой численных выражений. Его аргумент может включать ссылки объекта или даже JavaScript утверждения. Например, вы могли определить функцию setValue, который принимает два аргумента: и объект и значение, выглядят следующим образом:
function setValue (myobj, myvalue) {
eval ("document.forms[0]." + myobj + ".value") = myvalue; }
Затем, например, вы могли вызывать эту функцию, чтобы установить значение элемента формы "text1" следующим образом:
setValue (text1, 42)
Функции parseInt и parseFloat
Эти две встроенные функции возвращают числовое значение когда дана строка как аргумент.
Функция parseFloat анализирует его строковый аргумент, и возвращает число с плавающей точкой. если первый символ переданной строки - знак "плюс", знак "минус", десятичная точк число "е" (основание натурального логарифма) или цифра. Если parseFloat сталкивается с недопустимым символа то метод возвращает значение, основанное на подстроке, следующей до этого символа, игнорируя все последующие. Ее первый же символ недопустим, parseFloat возвращает одно из двух значений, в зависимости от платформы:
0 на платформах Windows.
"NaN" на любой другой платформе, указывая, что значение - не номер.
Для арифметических целей, значение "NaN" - не число в любом основании
системы счисления. Вы можете вызывать функцию isNaN, чтобы
определить,является ли результат parseFloat "NaN".
Функция parseInt анализирует ее первый строковый аргумент, и возвращать целое число, основанное на указанном основании системы счисления. Например, При параметре radix, равном 10, string преобразовыва-ется в десятичное число, при 8 преобразовывается в восьме-ричное и при 16 - в шестнадцатеричное. Значения, большие 10, для оснований, превышающих 10, представляются символами отАдо F вместо чисел. Использование radix, равного 2, служит для преобразований в двоичные числа. Числа с плавающей запятой будут преобразованы в целые числа. Правила обработки строки идентичны правилам для parseFloat.
Если parseInt сталкивается с сиволом, который - не символ в указанном основании системы счисления, то игнорирует его и возвращает значение целого числа, анализируемую до того пункта. Если первый символ не может быть преобразован к символу в указанном основании системы счисления, то возвращает NaN. ParseInt усекает числа до значения целого числа.