Статья из библиотеки сайта Макинтош и образование
Внимание! Здесь описаны не все элементы языка JavaScript.
JavaScript — язык сценариев, встраиваемых в HTML-документы для создания динамических интерактивных web-страниц.
Код сценария может быть встроен непосредственно в страницу либо размещен в отдельном подключаемом файле (обычно, с расширением .js). В обоих случаях используется тег script:
<script language="javascript" type="text/javascript">
здесь размещаются команды сценария
</script>
<noscript>
а эта часть будет показана браузером, который не поддерживает JavaScript
(или при запрете на выполнение сценариев)
</noscript>
либо
<script type="text/javascript" src="url_файла_сценариев"> </script>
Тег script может располагаться как в части «head», так и в части «body». Рекомендуется размещать в теле html-документа только вызовы функций.
оператор //до конца строки идет комментарий
/* А этот комментарий
может занимать
сколько угодно
строк */
var a, b; // объявлены переменные a и b
a = 0; // переменной a присвоено значение 0
var c = 1; // объявлена переменная c с начальным значением 1
var myColor = "yellow"; // объявлена переменная со строковым значением
Неопределенная переменная имеет значение NULL.
Необходимо объявлять локальные переменные. Глобальные переменные объявлять не обязательно, но рекомендуется.
Арифметические | |
| + | сложение |
| - | вычитание |
| * | умножение |
| / | деление |
| % | остаток от деления |
| ++ | инкремент (увеличение на 1) |
| -- | декремент (уменьшение на 1) |
Присваивания | |
| = | присваивание левому операнду значения правого |
| += | сложение левого операнда с правым, результат присваивается левому |
| -= | вычитание из левого операнда правого, результат присваивается левому |
| *= | умножение левого операнда с правым, результат присваивается левому |
| /= | деление левого операнда на правый, результат присваивается левому |
| %= | нахождение остатка от деления левого операнда на правый, результат присваивается левому |
Для строк | |
| + | конкатенация (склейка) |
| += | конкатенация, результат присваивается левому операнду |
Логические | |
| && | конъюнкция («И») |
| || | дизъюнкция («ИЛИ») |
| ! | инверсия (отрицание) |
Сравнения | |
| == | равно |
| === | равно и совпадает тип |
| != | не равно |
| < | меньше |
| <= | меньше либо равно |
| > | больше |
| >= | больше либо равно |
Условная операция |
| условие ? выражение1 : выражение2 |
| принимает значение выражения1, если условие истинно, и выражения2 в противном случае |
if (условие)
{
операторы // при истинности условия
}
if (условие)
{
операторы // при истинности условия
}
else
{
операторы // при ложности условия
}
switch (выражение)
{
case значение1:
операторы;
break;
case значение2:
операторы;
break;
.......
default: операторы;
}
while ( условие )
{
операторы // повторяются, пока истинно условие
}
do
{
операторы // повторяются, пока истинно условие
} while (условие)
for( var параметр=нач. значение; условие; изменение параметра)
{
операторы // повторяются для каждого значения параметра
}
Например:
for( var i = 1; i < 21; i++)
{
document.write(i + '^2 = ' + i * i);
}
for ( параметр in объект )
{
операторы // повторяются для каждого свойства объекта
}
Используются только внутри тела цикла:
break; // досрочно прерывает цикл
continue; // досрочно переходит к следующему повтору
| parseInt(строка, основание) | преобразование строки в целое число (указывается основание исходной системы счисления) |
| parseFloat(строка) | преобразование строки в число с плавающей точкой |
| isNaN(выражение) | является ли выражение невычислимым? |
| isFinite(выражение) | является ли конечным? (например, для обработки случая деления на нуль) |
function имя_функции (параметры) {
//
// операторы тела функции
return выражение // только если функция должна возвращать значение
//
}
Объект (в JavaScript) — это составной тип данных, включающий свойства и методы. Свойства можно рассматривать как переменные, характеризующие объект, а методы — как функции, воздействующие на свойства объекта. Всякий объект относится к определенному классу и наследует все свойства и методы этого класса.
В JavaScript имеется несколько стандартных классов: String (строка), Array (массив), Math (математический), Date (дата и время), Function (объект-функция), RegExp (регулярное выражение) и др.
var myObject = new Object(); // создается новый «пустой» объект
var today = new Date(); // новый объект класса «дата»
l = 2 * Math.PI * r; // используется свойство PI объекта Math
document.f.a.value = a; // изменяется свойство value объекта a,
// входящего в объект f, входящего в document
a = c * Math.sin(alpha); // используется метод sin объекта Math
Заметьте: скобки после имени метода указываются, даже если метод не имеет параметров.
Символы в строке нумеруются, начиная с нуля.
| length | длина строки |
| charAt(целое) | символ, находящийся в заданной позиции строки |
| indexOf(подстрока) | начальная позиция первого вхождения подстроки; -1, если подстрока не найдена |
| lastIndexOf(подстрока) | начальная позиция последнего вхождения подстроки; -1, если подстрока не найдена |
| substring(начало, конец) | подстрока между заданными позициями |
| substr(начало, количество) | подстрока из заданного числа символов с заданной позиции |
| toLowerCase() | преобразовать символы в нижний регистр |
| toUpperCase() | преобразовать символы в верхний регистр |
| replace(найти, заменить) | поиск-замена с использованием регулярных выражений |
| charCodeAt(символ) | код символа (в кодировке Unicode) |
var message = "Simple String";
message[0] // возвращает значение "S"
message.charAt(0) // аналогично message[0]
message.length // возвращает 13
message.indexOf("Simple"); // возвращает 0
message.lastIndexOf("String"); // возвращает 7
message.substring(1,3); // возвращает "imp"
Элементы массива нумеруются, начиная с нуля.
var a = new Array(10); // создается объект-массив из 10 элементов
var b = new Array ('John', 'Mary', 'Peter'); // создается объект-массив с заданными элементами
var c = ['John', 'Mary', 'Peter']; // объявляется массив с заданными элементами
b[0] = 'John'; // начальный элемент массива b получает значение 'John'
a[3] = c[1]; // 3-й элемент массива a получает значение 1-го элемента c
| length | длина массива |
| concat(массив) concat(массив, массив...) | конкатенация («приклеивание») массивов к исходному |
| join() join(разделитель) | «склейка» массива в строку |
| pop() | удаление последнего элемента |
| push(элемент, элемент...) | добавление в конец |
| Math.E | основание натурального логарифма |
| Math.PI | число π |
| Math.SQRT1_2 | квадратный корень из 1/2 |
| Math.SQRT2 | квадратный корень из 2 |
| Math.abs(число) | модуль (абсолютная величина) |
| Math.sin(число) Math.cos(число) Math.tan(число) | тригонометрические функции (аргумент — в радианах) |
| Math.acos(число) Math.asin(число) Math.atan(число) | обратные тригонометрические функции (результат — в радианах) |
| Math.min(число, число) Math.max(число, число) | меньшее / большее из двух чисел |
| Math.round(число) | округление |
| Math.sqrt(число) | квадратный корень |
| Math.pow(основание, показатель) | возведение в степень |
| Math.random() | псевдослучайное число из интервала (0; 1) |
Внимание! Месяцы нумеруются от 0 (январь) до 11 (декабрь).
var date = new Date(); // получение текущей даты
var date = new Date(миллисекунды); // получение даты
// по времени, прошедшему с 00:00:00 1 января 1970 г.
var date = new Date(строка даты); // получение даты
// по строке с указанием даты и времени
// например, "Dec 24, 2007"
// или "Mon, 24 Dec 2007 15:30:00 GMT+0400"
var date = new Date(год, месяц, день); // получение даты
// по заданному году, месяцу и числу
var date = new Date(год, месяц, день, часы, минуты, секунды); // получение даты
// по заданному году, месяцу, числу и времени
Как использовать JavaScript для обращения к элементам web-страницы — читайте в «JavaScript и HTML»