Показать сообщение отдельно
  #17 (permalink)  
Старый 02.02.2016, 10:38
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

hbsv,
Сообщение от hbsv
1 -й Вопрос что делает функция:
function PutNum(val) {
    document.getElementById("screen").value = (document.getElementById("screen").value + val)-0;
Эта функция добавляет цифру к строке ранее введенных цифр в input id="screen".
-0 дает то, что если это будет не цифра, то возникнет ошибка. Зачем - непонятно, т. к. эта функция привязана к клавишам ввода цифр. Без -0 все точно так же работает.
Сообщение от hbsv
2-й Вопрос, что делает эта функция, для чего используется цикл:
window.onload = function () {
    for (var i = 0; i < 10; i++) {
        (function (val) {
            document.getElementById("btn_" + val).onclick = function () {
                PutNum(val);
            }
        })(i);
    }
Этот цикл привязывает обработчик события onclick к цифровым клавишам, следующие операторы делают то же самое для остальных клавиш. Можно делать и так, а можно, как было у вас (что использовал и я в своем варианте) - задавать обработчик события в HTML - описании кнопки. Я в данном случае особого смысла в программной привязке обработчика не вижу - другое дело, когда кнопки не описаны заранее, а создаются динамически программным путем.

Сообщение от hbsv
3 - й Вопрос, можно ли этот код допиписать с использованием методов:
А зачем? Чем это лучше switch?

Ну а как вам моя последняя версия? Есть вопросы, замечания?

Последний раз редактировалось Dilettante_Pro, 02.02.2016 в 12:27.
Ответить с цитированием