Дополнительные файлы к лекции находятся в 08.zip. Презентацию к данной лекции Вы можете скачать здесь.
В JavaScript как и в С++ существуют однострочные и многострочные комментарии. Синтаксис комментариев следующий:
//Однострочный комментарий /* Многострочный комментарий, используется для блока текста */
Для того, чтобы пользователь мог взаимодействовать с программой, требуются средства ввода-вывода.
Для ввода и вывода данных можно воспользоваться методами браузера и загруженного в него документа. Объект, представляющий свойства браузера, называется window (окно), а три его метода - alert(), prompt() и confirm() - предназначены для ввода и вывода данных посредством диалоговых окон. Объект, представляющий свойства документа, называется document, а его методы write() и writeln() служат для вывода данных непосредственно в клиентскую область браузера. Объект document очень важный, но не корневой в объектной модели, потому при обращении к его свойствам требуется указывать имя объекта, например, document .write("Здравствуй, Мир").
Проиллюстрируем сказанное на нескольких примерах.
Данный метод позволяет выводить диалоговое окно с заданным сообщением и кнопкой ОК. Синтаксис следующий:
alert(сообщение)
В предлагаемом ниже примере будет выведен афоризм Козьмы Пруткова.
alert("Если хочешь быть красивым, поступи в гусары");
(рис 8.1) Диалоговое окно, выведенное на экран методом alert() является модальным, т.е. пока мы не нажмем кнопку OK, не сможем дальше работать с программой.
Метод confirm позволяет вывести диалоговое окно с сообщением и двумя кнопками: ОК и Отмена (Cancel). В отличие от alert(), этот метод возвращает логическую величину, значение которой зависит от того, какую из кнопок нажал пользователь. Если он щелкнул на кнопке ОК, то возвращается значение true (истина, да); если же была нажата кнопка Отмена (Cancel), то возвращается значение false (ложь, нет). Возвращаемое значение можно обработать в программе и, следовательно, создать эффект интерактивности, т. е. диалогового взаимодействия программы с пользователем. Синтаксис метода confirm() следующий:
confirm(сообщение)
Пример:
confirm("Выйти из программы?");
(рис 8.2)
Метод prompt() позволяет вывести на экран диалоговое окно с сообщением, а также с текстовым полем, в которое пользователь может ввести данные. Кроме того, в окне предусмотрены две кнопки: ОК и Отмена (Cancel). В отличие от alert() и confirm(), данный метод принимает два параметра: сообщение и значение, которое должно появиться в текстовом поле ввода данных по умолчанию. Если пользователь щелкнет на кнопке ОК, метод вернет содержимое поля ввода данных, а если он щелкнет на кнопке Отмена, то возвращается логическое значение false (ложь, нет).
Синтаксис метода prompt () следующий:
prompt (сообщение, значение_поля_ввода_ланных)
В предлагаемом примере пользователь вводит свое имя с помощью оператора promt, имя присваивается FirstName, затем alert().
var FirstName,str;
FirstName=prompt("Как Вас зовут?", "");
str = "Очень приятно, " + FirstName + "!";
alert(str);

(рис 8.4) (рис 8.3)
Метод document.write(список_строк) позволяет выводить в окне браузера список текстовых строк, разделенных запятыми. Если выводимая строка представляет собой HTML-код, то браузер отобразит результат его интерпретации, а не последовательность тегов. Иначе говоря, теги HTML в выводимом сообщении будут восприниматься браузером как команды, а не просто как текстовые символы.
Метод document.writeln(список_строк) отличается от предыдущего тем, что выводит указанную строку (или несколько строк), добавляя в конце невидимый управляющий символ перехода на новую строку.
В предлагаемом примере создается строка (афоризм Козьмы Пруткова), содержащая статический текст и тэги языка гипертекстовой разметки. Метод document.write() обрабатывает ее корректно.
var str;
str = "<h1>" + "Бросая в воду камешки, смотри на круги, ими
образуемые," + "<br>" +
"иначе такое бросание будет пустою забавою" + "</h1>";
document.write(str);
(рис 8.5)
В языке программирования JavaScript поддерживаются пять Object )
var. При создании undefined.
var str; alert(str);
(рис 8.6) JavaScript является языком со слабой типизацией, это означает, что в процессе работы программы тип
var x, y, z, str; x = 3; //Числовой тип y = true; //Логический тип z = "Вася"; //Символьный тип str = x+ y + z; alert(str);
(рис 8.7) Здесь мы попытались сложить числовую, логическую и символьную величину. JavaScript по своему разумению преобразовал типы этих
Для того чтобы развеять сомнения лучше осуществить явное преобразование типов. Функция parseInt(строка, основание) преобразует строку в целое десятичное число, функция parseFloat(строка) - преобразует строку в десятичное число с плавающей запятой.
var a, b, c, d, str;
a = parseInt("3.14159158");
b = parseInt("40.5 рублей 67 копеек");
c = parseFloat("3.14159158");
d = parseFloat("40.5 рублей 67 копеек");
str = a + "<br>" + b + "<br>" + c + "<br>" + d;
document.write(str);
(рис 8.8)
С помощью оператора присваивания
var a, b, c, d, f, str;
a = 1; //Наиболее привычная форма записи
b = 13;
c = 2;
d = 5;
f = 15;
b += a; //То же, что и b=b+a
c++; //То же, что и c=c+1
d *= 2; //То же, что и d=d*2
f %= 7; //Нахождение остатка при делении 15 на 7
str = b + "<br>" + c + "<br>" + d + "<br>" + f;
document.write(str);
(рис 8.9)
Условные операторы изменяют ход выполнения программы в зависимости от некоего условия. Существуют конструкции ?) и переключатель switch. При разработке программ, использующих условные операторы, нужно учитывать, что как и в С++, при проверке равенства двух величин нужно писать a==b, а не a=b, т.к. выражение a=b в условном операторе будет расценено как оператор присваивания. Второе. При разработке составных условий выражение a>3 b<5 обозначает операцию конъюнкции, т.е. должны выполняться оба условия. Выражение a>3 || b<5 обозначает дизъюнкцию, т.е. для истинности выражения достаточно выполнение хотя бы одного условия.
Синтаксис оператора if…then следующий:
If (Условие) {Действие 1} else {Действие 2}
В случае истинности условия выполняется первое действие, в противном случае - второе действие.
В предлагаемом примере сравниваются два числа, и находится наименьшее.
var a, b, c, str;
a = 1;
b = 300;
if (a < b) { c = a; }
else { c = b; }
str = "Минимальное значение из двух чисел равно " + c;
document.write(str);
(рис 8.10)
Оператор ? является сокращенной формой оператора if..then. Синтаксис его следующий:
Условие ? действие 1 : действие 2.
В случае истинности условия выполняется первое действие, в противном случае - второе.
var a, b, c, str; a = 80; b = 300; //Оператор ? является сокращенной формой условного оператора if.. else a > b ? c = a : c = b; str = "Максимальное из двух чисел: " + c; document.write(str);
(рис 8.11)
Этот оператор удобно применять в случае нескольких однородных повторяющихся условий. Его синтаксис следующий:
switch (выражение) {
case вариант 1:
код
[break]
case вариант 2:
код
[break]
…
[default:
код]
}
В квадратные скобки заключены необязательные выражения. Сначала вычисляется выражение, указанное в круглых скобках сразу за ключевым словом switch. Полученное значение сравнивается с тем, которое указано в первом варианте. Если они не совпадают, то код этого варианта не выполняется и происходит переход к следующему варианту. Если же значения совпали, то выполняется код, соответствующий этому варианту. При этом если не указан оператор break, то выполняются коды и остальных вариантов, пока не встретится оператор break. Это же правило действует и для остальных вариантов.
В предлагаемом ниже примере в зависимости от выбранного номера дня недели на экран выводится его шуточный комментарий.
var DayNumber, str;
DayNumber = 5;
switch (DayNumber) {
case 1:
str = "Отдых от рабочего дня";
break
case 2:
str = "Поготовка к рабочему дню";
break
case 3:
str = "Рабочий день";
break
case 4:
str = "Отдых от рабочего дня";
break
case 5:
str = "Подготовка к выходному дню";
break
case 6:
str = "Первый выходной день";
break
case 7:
str = "Второй выходной день";
break
}
document.write(str);
(рис 8.12)
Операторы цикла выполняют некоторую последовательность действий до тех пор, пока истинно (ложно) некое условие. Помимо условия операторы цикла содержат также итерационную for, while и do-while. В операторе цикла for заранее известно количество итераций. Его удобно использовать при работе с массивами. Допускаются вложенные операторы цикла for. В циклах while и do-while мы заранее не знаем количество итераций. Их удобно использовать в задачах математического моделирования и при сканировании различного рода последовательностей.
Синтаксис оператора for следующий:
for ([начальное_выражение] ; [условие] ; [выражение обновления])
{
код
}
В предлагаемом примере мы найдем сумму чисел от нуля до десяти. Как видно из листинга, вначале sum присваивается значение 0, затем на каждом шаге цикла прибавляется по единице.
var i,n, sum,str;
sum = 0;
n = 10;
for (i = 1; i <= n; i++) {
sum += i;
}
str = "Сумма первых " + n + " членов ряда = " + sum;
alert(str);
(рис 8.13)
Синтаксис этого оператора следующий:
while (условие) {
код
}
При выполнении этого оператора сначала проверяется условие, указанное в заголовке, т. е. в круглых скобках справа от ключевого слова while. Если оно истинно, то выполняется код в
В предлагаемом примере решается предыдущая задача. Цикл while работает до тех пор, пока итерационная i не станет равна десяти.
var i,n, sum,str;
sum = 0;
n = 10;
i = 1;
while(i<=n)
{
sum += i;
i++;
}
str = "Сумма первых " + n + " членов ряда = " + sum;
document.write(str);
(рис 8.14)
Оператор do-while (делай до тех пор, пока) представляет собой конструкцию из двух операторов, работающих совместно. Синтаксис этой конструкции следующий:
do {
код
}
while (условие)
В отличие от while в операторе do-while код выполняется хотя бы один раз, независимо от условия, которое проверяется после выполнения кода. Если оно истинно, то снова выполняется код в do. В противном случае работа оператора do-while завершается.
В приведенном ниже примере показано использование цикла do … while для нахождения факториала.
var n, i, z, str;
n = 5;
z = 1;
if (n > 1) {
i = 2;
do {
z *= i;
i++;
}
while (i <= n);
}
str = "Факториал " + n + " = " + z;
document.write(str);
(рис 8.15)
JavaScript имеет Си-подобный синтаксис, что особенно заметно проявляется на примере комментариев, операторов присваивания, в циклах и условных операторах. Вместе с тем, ввод-вывод заметно отличается от такового в Си и больше напоминает Visual Basic.Net (оператор alert похож на MsgBox ). Еще одним существенным отличием от Си является слабая типизация и автоматическое преобразование типов.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.