JavaScript имеет несколько функций "верхнего
уровня", встроенные в язык. Это следующие функции:
eval
parseInt
parseFloat
Функция eval
Аргумент встроенной функции
eval - строка. Строка может быть - любая строка, представляющая
выражение JavaScript утверждение, или последовательность утверждений.
Выражение может включать переменные и свойства существующих
объектов.
Если аргумент представляет
выражение, eval вычисляет выражение. Если аргумент представляет
один или большее количество JavaScript утверждений, eval вычисляет
утверждения.
Эта функция полезна
для оценки строки, представляющая арифметическое выражение.
Следующий пример
присваивает ввод в текстовой области, применяет eval функцию
и показывает результат в другой текстовой области. Если вы
напечатаете численное выражение в первой области, и нажимаете
на кнопку, выражение будет вычисленно. Например,
введите "(666 * 777)/3", и нажмите на кнопку, чтобы
увидеть результат.
<SCRIPT>
function compute(obj) {
obj.result.value = eval(obj.expr.value)
}
</SCRIPT>
<FORM NAME="evalform">
Enter an expression: <INPUT TYPE=text NAME="expr"
SIZE=20 >
<BR>
Result: <INPUT TYPE=text NAME="result" SIZE=20
>
<BR>
<INPUT TYPE="button" VALUE="Click Me"
onClick="compute(this.form)">
</FORM>
Функция eval не ограничена
оценкой численных выражений. Его аргумент может включать ссылки
объекта или даже JavaScript утверждения. Например, вы могли
определить функцию setValue, который принимает два аргумента:
и объект и значение, выглядят следующим образом:
function setValue (myobj, myvalue) {
eval ("document.forms[0]." + myobj + ".value")
= myvalue; }
Затем, например,
вы могли вызывать эту функцию, чтобы установить значение элемента
формы "text1" следующим образом:
setValue (text1, 42) |