JavaScript. Подробное руководство, 6-е издание (Флэнаган) - страница 18

>

>  if (isFinite(monthly)) {

>    // Заполнить поля вывода, округлив результаты до 2 десятичных знаков

>    payment.innerHTML = monthly.toFixed(2);

>    total.innerHTML = (monthly * payments).toFixed(2);

>    totalinterest.innerHTML = ((monthly*payments)-principal).toFixed(2);


>    // Сохранить ввод пользователя, чтобы можно было восстановить данные

>    // при следующем открытии страницы

>    save(amount.value, apr.value, years.value, zipcode.value);

>    // Реклама: отыскать и отобразить ссылки на сайты местных

>    // кредитных учреждений, но игнорировать сетевые ошибки

>    try { // Перехватывать все ошибки, возникающие в этих фигурных скобках

>      getLenders(amount.value, apr.value, years.value, zipcode.value);

>    }

>    catch(e) { /* И игнорировать эти ошибки */ }


>    // В заключение вывести график изменения остатка по кредиту, а также

>    // графики сумм, выплачиваемых в погашение кредита и по процентам

>    chart(principal, interest, monthly, payments);

>  }

>  else {

>    // Результат не является числом или имеет бесконечное значение,

>    // что означает, что были получены неполные или некорректные данные.

>    // Очистить все результаты, выведенные ранее,

>    payment.innerHTML = "";

>    // Стереть содержимое этих элементов total.innerHTML = totalinterest.innerHTML = "";

>    chart(); // При вызове без аргументов очищает диаграмму

>  }

>}


>// Сохранить ввод пользователя в свойствах объекта localStorage. Значения этих свойств

>// будут доступны при повторном посещении страницы. В некоторых броузерах (например.

>// в Firefox) возможность сохранения не поддерживается, если страница открывается

>// с адресом URL вида file://. Однако она поддерживается при открытии страницы через HTTP.

>function save(amount, apr, years, zipcode) {

>  if (window.localStorage) { // Выполнить сохранение, если поддерживается

>    localStorage.loan_amount = amount;

>    localStorage.loan_apr = apr;

>    localStorage.loan_years = years;

>    localStorage.loan_zipcode = zipcode;

>  }

>}


>// Автоматически восстановить поля ввода при загрузке документа,

>window.onload = function() {

>  // Если броузер поддерживает localStorage и имеются сохраненные данные

>  if (window.localStorage && localStorage.loan_amount) {

>    document.getElementById("amount").value = localStorage.loan_amount;

>    document.getElementById("apr").value = localStorage.loan_apr;

>    document.getElementById("years").value = localStorage.loan_years;

>    document.getElementById("zipcode").value = localStorage.loan_zipcode;

>  }

>};


>// Передать ввод пользователя серверному сценарию, который может (теоретически) возвращать