JavaScript. Подробное руководство, 6-е издание, стр. 13
<b> //Нарисовать отметки лет на оси Х</b><b> g.textAling="center"; //Текст меток по центру </b><b> var y = amounToY(0); //Координата Y на оси X</b><b> for (var year=1;year*12 <= payments; year++) { //Для каждого года </b><b> var x=paymentToX(year*12); //Вычислить позицию метки </b><b> g.fillRect(x-0.5, y-3, 1, 3); //Нарисовать метку </b><b> if (year == 1) g.fillText("Year", x, y-5); // Подписать ось </b><b> if (year % 5 == 0 && year*12 !== payments) // Числа через каждые 5 лет</b><b> g.fillText(String(year), x, y-5);</b><b> }</b><b> //Суммы платежей у правой границы</b><b> g.textAling="right"; //Текст по правому краю </b><b> g.textBaseLine="middle"; //Центрировать по вертикали </b><b> var ticks = [monthly*payments, principal]; //Вывести две суммы </b><b> var rightEdge = paymentToX(payments); //Координата X на оси Y </b><b> for (var i = 0; i < ticks.Length; i++) { //Для каждой из 2 сумм </b><b> var y = amountToY(ticks[i]); //Определить координату Y </b><b> g.fillRect(rightEdge - 3, y - 0.5, 3, 1); //Нарисовать метку </b><b> g.fillText(String(ticks[i].toFixed(0)), //И вывести рядом сумму.</b><b> rightEdge-5, y);</b><b> }</b><b>}</b><b></script></b><b></body></b><b></html></b>I
Базовый JavaScript
Данная часть книги включает главы со 2 по 12, она описывает базовый язык JavaScript и задумана как справочник по языку JavaScript. Прочитав главы этой части один раз, вы, возможно, будете неоднократно возвращаться к ним, чтобы освежить в памяти более сложные особенности языка.
• Глава 2 «Лексическая структура»
• Глава 3 «Типы данных, значения и переменные»
• Глава 4 «Выражения и операторы»
• Глава 5 «Инструкции»
• Глава 6 «Объекты»
• Глава 7 «Массивы»
• Глава 8 «Функции»
• Глава 9 «Классы и модули»
• Глава 10 «Шаблоны и регулярные выражения»
• Глава 11 «Подмножества и расширения JavaScript»
• Глава 12 «Серверный JavaScript»
2
Лексическая структура
Лексическая структура языка программирования - это набор элементарных правил, определяющих, как пишутся программы на этом языке. Это низкоуровневый синтаксис языка; он определяет вид имен переменных, символы, используемые для обозначения комментариев, и то, как одна инструкция отделяется от другой. Эта короткая глава описывает лексическую структуру JavaScript.
2.1. Набор символов
При написании программ на JavaScript используется набор символов Юникода. Юникод является надмножеством кодировок ASCII и Latin-І и поддерживает практически все письменные языки, имеющиеся на планете. Стандарт ЕСМА-Script 3 требует, чтобы реализации JavaScript обеспечивали поддержку стандарта Юникода версии 2.1 или выше, а стандарт ECMAScript 5 требует, чтобы реализации обеспечивали поддержку стандарта Юникода версии 3 или выше. Более подробно о Юникоде и JavaScript говорится во врезке в разделе 3.2.
2.1.1. Чувствительность к регистру
JavaScript - это язык, чувствительный к регистру символов. Это значит, что ключевые слова, имена переменных и функций и любые другие идентификаторы языка должны всегда содержать одинаковые наборы прописных и строчных букв. Например, ключевое слово
<b>while</b><b>online, Online, OnLine и ONLINE</b>Заметим, однако, что язык разметки HTML (в отличие от XHTML) не чувствителен к регистру. Так как HTML и клиентский JavaScript тесно связаны, это различие может привести к путанице. Многие JavaScript-объекты и их свойства имеют те же имена, что и теги и атрибуты языка HTML, которые они обозначают. Однако если в HTML эти теги и атрибуты могут набираться в любом регистре, то в JavaScript они обычно должны набираться строчными буквами. Например, атрибут
<b>onclick</b><b>onclick</b>2.1.2. Пробелы, переводы строк и символы управления форматом
JavaScript игнорирует пробелы, которые могут присутствовать между лексемами в программе. Кроме того, JavaScript также по большей части игнорирует символы перевода строки (за одним исключением, о котором рассказывается в разделе 2.5). Поэтому пробелы и символы перевода строки могут без ограничений использоваться в исходных текстах программ для форматирования и придания им удобочитаемого внешнего вида.
Помимо обычного символа пробела (
<b>\u0020</b><b>\u0009</b><b>\u000В</b><b>\u000C</b><b>\u00А0</b><b>\uFEFF</b><b>\u000А</b><b>\u000D</b><b>\u2028</b><b>\u2029</b>Символы Юникода, управляющие форматом (категория Cf), такие как RIGHT-TO-LEFT MARK (
<b>\u200F</b><b>\u200E</b><b>\u200D</b><b>\u200C</b><b>\uFEFF</b>