JavaScript. Подробное руководство, 6-е издание, стр. 9
• Поиск элементов в документе.
• Получение ввода пользователя с помощью элементов форм.
• Изменение содержимого элементов документа.
• Сохранение данных в броузере.
• Управление НТТР-запросами.
• Создание графики с помощью элемента <canvas>.
Пример 1.1. Калькулятор вычисления платежей по ссуде на JavaScript
<b><!DOCTYPE html></b>
<b><html></b>
<b><head></b>
<b> <title>JavaScript Loan Calculator</title></b>
<b> <style> /* Таблица стилей CSS: определяет внешний вид вывода программы */</b>
<b> .output { font-weight: bold; } /* Жирный шрифт для вычисленных значений */</b>
<b> #payment { text-decoration: underline: } /* Для элементов с id="payment" */</b>
<b> #graph { border: solid black 1px; } /* Простая рамка для диаграммы */</b>
<b> th, td { vertical-align: top: } /* Выравнивание в ячейках таблицы */</b>
<b> </style></b>
<b></head></b>
<b><body></b>
<b><! --</b>
<b>Это HTML-таблица с элементами <input>, позволяющими вводить данные, и с элементами <span>,</b>
<b> в которых отображаются результаты вычислений. Эти элементы имеют идентификаторы, </b>
<b>такие как "interest" и "years". Данные идентификаторы используются в JavaScript-коде, </b>
<b>который следует за определением таблицы. Обратите внимание, что для некоторых</b>
<b>элементов ввода определены обработчики событий "onchange" и "onclick". </b>
<b>В них заданы строки JavaScript-кода, выполняемого при вводе данных или щелчке на кнопке. </b>
<b>--></b>
<b><table></b>
<b> <tr></b>
<b> <th>Enter Loan Data:</th></b>
<b> <td></td></b>
<b> <th>Loan Balance, Cumulative Equity, and Interest Payments</th></b>
<b> </tr></b>
<b> <tr></b>
<b> <td>Amount of the loan ($):</td> </b>
<b> <td><input id="amount" onchange=”calculate(); "></td></b>
<b> <td rowspan=8></b>
<b> <canvas id="graph" width="400" height="250"></canvas></b>
<b> </td></b>
<b> </tr></b>
<b> <tr></b>
<b> <td>Annual interest (%):</td></b>
<b> <td><input id="apr" onchange="calculate(); "></td></b>
<b> </tr></b>
<b> <tr></b>
<b> <td>Repayment period (years):</td></b>
<b> <td><input id="years" onchange="calculate(); "></td></b>
<b> </tr></b>
<b> <tr></b>
<b> <td>Zipcode (to find lenders):</td></b>
<b> <td><input id="zipcode" onchange="calculate(); "></b>
<b></td></b>
<b> <tr></b>
<b> <th>Approximate Payments:</th></b>
<b> <td><button onclick="calculate();">Calculate</button></td></b>
<b> </tr> </b>
<b> <tr></b>
<b> <td>Monthly payment:</td></b>
<b> <td>$<span class="output" id="payment"></span></td></b>
<b> </tr></b>
<b> <tr></b>
<b> <td>Total payment:c/td></b>
<b> <td>$<span class="output" id="total"></span></td></b>
<b> </tr></b>
<b> <tr></b>
<b> <td>Total interest:c/td></b>
<b> <td>$<span class="output" id="totalinterest"></span></td></b>