Вход/Регистрация
JavaScript. Подробное руководство, 6-е издание
вернуться

Флэнаган Дэвид

Шрифт:

<!-- будет понять пример, если JavaScript-код будет находиться ниже HTML-содержимого.
– ->

<script>

"use strict"; // Использовать строгий режим ECMAScript 5, если броузер поддерживает его

/*

* Этот сценарий определяет функцию calculate, вызываемую обработчиками событий

* в разметке HTML выше. Функция читает значения из элементов <input>, вычисляет размеры

* платежей по ссуде, отображает результаты в элементах <span>. Кроме того, она сохраняет

* пользовательские данные, отображает ссылки на кредитные учреждения и рисует диаграмму.

*/

function calculate {

// Отыскать элементы ввода и вывода в документе

var amount = document.getElementById("amount");

var apr = document.getElementByld("apr”);

var years = document.getElementById("years");

var zipcode = document.getElementById("zipcode");

var payment = document.getElementById("payment");

var total = document.getElementById("total");

var totalinterest = document.getElementById("totalinterest");

// Получить ввод пользователя из элементов ввода. Предполагается, что все данные

// являются корректными. Преобразовать процентную ставку из процентов

// в десятичное число и преобразовать годовую ставку в месячную ставку.

// Преобразовать период платежей в годах в количество месячных платежей.

var principal = parseFloat(amount.value);

var interest = parseFloat(apr.value) / 100 / 12;

var payments = parseFloat(years.value) * 12;

// Теперь вычислить сумму ежемесячного платежа.

var х = Math.pow(1 + interest, payments); // Math.pow вычисляет степень

var monthly = (principal * x * interest)/(x-1);

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

// указал корректные данные и результаты можно отобразить

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) { /* И игнорировать эти ошибки */ }

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

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

  • Читать дальше
  • 1
  • ...
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: