Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

 
liveinternet.ru: показано количество просмотров и посетителей

Библиотека :: Компьютеры и Программирование :: А.В. Фролов, Г.В. Фролов - Сценарии JavaScript в активных страницах Web
<<-[Весь Текст]
Страница: из 116
 <<-
 
al("0x" + szNew);
   
  form.displayHex.value = szNew;
  form.displayDec.value = nCurrent;
}
   В самом начале функция putNumber проверяет двоичную переменную newnumber. 
Если значение этой переменной равно true, пользователь вводит первую цифру 
нового числа. В этом случае функция putNumber сбрасывает содержимое текстовых 
полей displayHex и displayDec, а также устанавливает значение newnumber, равное 
false.
   Далее функция добавляет введенную пользователем цифру спереди к переменной 
szOld, равной текущему значению из поля displayHex. При этом она вызывает метод 
concat из класса String, предназначенный для слияния (конкатенации) строк.
   На следующем этапе к введенному шестнадцатеричному числу добавляется префикс 
“0x”, после чего происходит вычисление текущего значения функцией eval. Эта 
функция пытается интерпретировать текстовую строку, переданную ей в качестве 
параметра, как арифметическое выражение, возвращая результат интерпретации в 
виде численного значения. Этот результат сохраняется в переменной nCurrent и 
отображается в текстовом поле displayDec (исходное шестнадцатеричное число 
отображается в поле displayHex).
   Если после ввода числа пользователь нажимает одну из четырех кнопок, 
предназначенных для выполнения операций сложения, вычитания, умножения и 
деления, вызываются функции, назначенные для этих кнопок в обработчике события 
onClick. Это функции plusOp (сложение), minusOp (вычитание), mulOp (умножение) 
и divOp (деление).
   Перечисленные функции похожи друг на друга, поэтому мы ограничимся подробным 
рассмотрением только одной из них, выполняющую операцию сложения:
function plusOp(form)
{
  var result;
  result = total + " " + lastOperation + " " + 
    form.displayDec.value;
  total = eval(result);
  lastOperation = "+";  

  form.displayHex.value = dec2hex(total);  
  form.displayDec.value = total;  

  newnumber = true;
}
   Здесь глобальная переменная total, имеющая начальное значение, равное нулю, 
используется для хранения промежуточных результатов вычислений. Она 
складывается с пробелом и текстовой строкой lastOperation, затем еще с одним 
пробелом и, наконец, со строкой десятичного представления введенного числа, 
извлеченного из поля displayDec.
   Строка lastOperation предназначена для хранения кода операции, которая 
выполнялась в последний раз. Дополнительные пробелы нужны для корректной работы 
с отрицательными числами.
   С помощью функции eval функция plusOp вычисляет результат операции и 
записывает его в переменную total. Затем в переменную lastOperation 
записывается код операции сложения - строка “+”.
   На следующем этапе функция plusOp преобразует значение total с помощью 
функции dec2hex и отображает результат в шестнадцатеричном виде в поле 
displayHex, а также в двоичном - в поле displayDec.
   Перед тем как возвратить управление, функция plusOp записывает в переменную 
newnumber значение true. Это приводит к тому, что при дальнейшем вводе цифр они 
будут рассматриваться как цифры второго слагаемого, участвующего в операции 
сложения.
   Функция getResult вызывается, когда пользовател
 
<<-[Весь Текст]
Страница: из 116
 <<-