Функция eval()
Функция
eval(строка)
рассматривает строку как фрагмент сценария JavaScript и выполняет этот фрагмент.
Пример 4.4.46. Использование функции eval() объекта Global:
// Функция ввода и преобразования операнда в число
function inputOperand(type, name)
{
// Бесконечный цикл
while(true)
{
// Получение строкового значения операнда
inputString = prompt("Введите " + name + ": ","");
// Перевод строкового значения в число
eval("number = parse" + type + "(inputString);");
// Если строковое значение - число
if(!isNaN(number))
// Выход из цикла
break;
// Вывод сообщения об ошибке
alert("Неверное число: " + inputString);
}
// Возврат числа
return number;
}
Функция inputOperand() объединяет функции intOperand() и floatOperand(), введенные в примерах 4.4.44(1) и 4.4.44(2). Вызов функции позволяет динамически задать имя функции преобразования строки в число (parseInt() или parseFloat()) в зависимости от значения параметра type.
Следующий фрагмент сценария содержит два обращения к функции: первое для целого числа, второе – для вещественного числа:
// Получение целого числа
|
|
intNumber = inputOperand("Int", "целое число");
// Вывод целого числа
alert("intNumber=" + intNumber);
// Определение вещественного числа
floatNumber = inputOperand("Float", "вещественное число");
// Вывод вещественного числа
alert("floatNumber=" + floatNumber);
Вывод этого фрагмента для одного и того же значения числа имеет следующий вид: