Содержание:
1. Добавление сценариев Javascript в HTML
Скрипты используются в html-страницах для увеличения функциональности и возможностей взаимодействия с посетителями сайта.
Для добавления сценария на страницу HTML используется дескриптор:
<script type="text/javascript"> </script> |
Или сегодня можно использовать упрощенный вариант:
<sсript> </sсript> |
Атрибуты дескриптора:
type
— атрибут, пришедший на заменуlanguage
; он сообщает браузеру, какой язык используется внутри дескрипторов;src
— атрибут определяет URL внешнего исходного JavaScript-файла, сценарий которого прикрепляется к html-странице.
- Устаревший вариант:
- Действующие варианты:
- Вариант с прикрепленным файлом скрипта:
<sсript language="javascript">...</sсript> |
<script type="text/javascript">...</script> |
<script>...</script> |
<script src="/jscripts/myscript.js"> </sсript> |
- тег
script
обычно помещается в html-страницу в областьhead
илиbody
; - этот тег указывает на то, что внутри находится сценарий — исполняемый код, в нашем случае скрипт на языке javascript;
- когда html-парсер браузера, отображая последовательно структуру html, доходит до тега
script
, то он передает инициативу интерпретаторуjavascript
; - интерпретатор, в свою очередь, исполняет содержимое кода до закрывающего тега
script
, а затем опять передает управление html-парсеру.
Добавление javascript в html
Встраивание javascript в html происходит двумя основными способами, которые рассмотрим на примере:
✍ Решение:
- Создайте html-страницу со следующим кодом:
- Откройте страницу в браузере и посмотрите на результат. Всё, что находится до горизонтальной линии — это результат работы скрипта; после чего идет текст в разметке html.
<html><head></head> <body> <!-- Сценарий --> |
<script> document.write("Это JavaScript!"); </script> |
<!-- Конец сценария --> <hr> Это обычный HTML документ. </body></html> |
script
может находиться как в теле документа, т.е. теге body
(как в примере), так и в области head
.- Создайте две страницы: lab1.html и myscript.js. Расположите обе страницы в одном каталоге.
- В html-документе разместите код:
- В файле с расширением
js
(в данном конкретном примере — myscript.js) находится единственная строка — код для вывода сообщения: - Откройте страницу lab1.html в браузере и посмотрите результат.
<html> <head> <!-- Прикрепление файла с кодом сценария --> |
<script src="myscript.js"></script> |
</head> <body> ... </body></html> |
script
следует размещать в области head
.document.write("Это JavaScript!") |
jscripts
, то код будет: sсript src="jscripts/myscript.js"
. document.write()
используется для вывода информации на экран. document.writeln()
— используется для перевода на новую строку, если используется тег форматирования pre
.alert()
— это метод для вывода модального (диалогового) окна с сообщениемВыполните следующий пример, чтобы увидеть особенности работы метода alert()
:
alert
и document.write
. Посмотрите на результат в браузере.
<script> alert ("Hello?"); document.write("Hello!"); </script> |
alert()
состоит в том, что пользователь не может продолжить работу, пока не щелкнет по кнопке окнаОбратите внимание, как работает javascript, помещенный в теги оформления шрифта:
BODY
после тега H1
. Посмотрите на результат.
<h1> <sсript> alert ("Hello?"); document.write("Hello!"); </sсript> </h1> |
log
объекта console
:
console.log(...); |
<h1> <sсript> console.log("Hello!"); </sсript> </h1> |
Замечание:
Теги html для оформления текста цветом:
<font color="red">Красная строка</font> |
document.whrit("Проблемы?"); |
alert(Hello); |
- Что такое сценарий (скрипт)?
- Сформулируйте основные задачи, решаемые с помощью скриптов javaScript.
- Опишите основные правила подключения сценариев к странице html.
- Какой метод javaScript используется для вывода текста (html-кода) на страницу?
2. Синтаксис javaScript, основные понятия
JavaScript – язык интерпретируемый (простыми словами: интерпретируемый — исполняется последовательно команда за командой), но также оснащен JIT-компиляцией.
JIT или компиляция «на лету» (Just-in-time compilation) — технология увеличения скорости работы программных систем, использующих байт-код, путём компиляции байт-кода в машинный код непосредственно во время работы программы.
Рассмотрим некоторые понятия, относящиеся к синтаксису языка:
Сценарий — текст, состоящий из:
- операторов,
- блоков, т. е. взаимосвязанных наборов операторов, и
- комментариев.
Операторы могут содержать:
- переменные — могут изменять свое значение в программе,
- константы — не изменяют свое значение,
- выражения.
Идентификаторы (identifiers) — имена переменных, методов и объектов:
- состоят из комбинации букв и цифр;
- должны начинаться либо с буквы, либо с символа подчеркивания;
- не должны содержать пробелов.
//переменные различаются: counter=1 Counter=1 |
«Верблюжья нотация» в записи идентификаторов:
Есть определенные устоявшиеся среди программистов правила для идентификаторов (имён) переменных, функций, массивов и классов. Рассмотрим их:
num_docs
— знак подчеркивания между словами — хорошо, но есть способ лучшеnumDocs
— вот такой «верблюжий» стиль превосходно подходит для именования переменных:- все имена строчными буквами,
- на стыке слов — большая буква,
- переменные и свойства — называем именами существительными,
- массивы и коллекции — называем существительными во множительном числе,
- функции и методы — называем глаголами,
- название классов — с заглавной буквы.
let myCounter=1; // просто переменная let userNames = new Array(); // массив function getUserCounter(){}// функция |
Ключевые слова (keywords) — предварительно определенные идентификаторы, составляющие основу языка программирования. Ключевые слова нельзя использовать для имен переменных, функций, объектов и методов.
Литералы (literals) — это постоянные значения JavaScript. Это значения, которые не изменяются во время выполнения сценария (целочисленные литералы, литералы с плавающей точкой, логические литералы (true и false), строковый литерал — это ноль и более символов, заключенных в двойные («») или одиночные (») кавычки).
Правила оформления скрипта JavaScript
- каждый оператор JavaScript лучше начинать с новой строки;
- каждый оператор заканчивается точкой с запятой;
;
‘Такой код не работает:
a=5 document.write(a)
Код работает верно:
// способ 1: a=5 document.write(a) // способ 2: a=5; document.write(a); // способ 3: a=5; document.write(a); |
- блок — это набор операторов (составной оператор), заключенный в фигурные скобки
{ }
.
{ document.write(a); alert(b); } |
JavaScript комментарии
//
— одна строка символов, расположенная справа от этого оператора, считается комментарием;/*...*/
— все, что заключено между/*
и*/
, считается комментарием; с помощью этого оператора можно выделить несколько строк в качестве комментария.
// проверка /* здесь может быть ошибка a=5; document.write(a); */ |
alert("Hello World!"); / это однострочный комментарий |
Объявление переменных в javaScript и оператор присваивания
Переменная (variable) — это имя, присваиваемое ячейке памяти компьютера, которая хранит определенные данные.
JavaScript — нетипизированный язык. Это значит, что переменные принимают тот тип данных, значение которого в них присваивается. Напрямую задавать тип переменной не надо.
let
(раннее использовалось var
):
let + имя переменной + ;
Пример объявления переменной:
let i; |
Оператор присваивания:
i=0; |
let + имя переменной + = + значение + ;
Переменная всегда слева, справа – литерал (значение переменной).
Пример:
let i=0; |
Таким образом, резюмируем. Существует три варианта объявления с присваиванием:
-
let hello = "привет";
-
let hello; hello="привет";
-
hello="привет";
или
или
let
можно опускатьalert()
).✍ Решение:
- Создайте html-страницу с тегом script, предназначенным для размещения дальнейшего кода:
- Добавьте код для объявления, инициализации переменной и вывода ее значения в предназначенное для этого место:
- Возможен также пример с необъявленной переменной:
- Запустите страницу в браузере и посмотрите на результат.
<html> <head></head> <body> <script> // будущий код javascript </script> </body> </html> |
let myVal; // объявляем переменную myVal myVal = "Pi"; /* присваиваем myVal некоторое значение */ alert (myVal); // выводим значение |
myVal = "Pi"; /* присваиваем myVal некоторое значение */ alert (myVal); // выводим значение |
alert()
.
Здесь вы можете скачать заготовку кода файла со скриптом. Щелкните правой кнопкой -> Сохранить ссылку как.
String s = "String"; int a = 10; long b = 25; |
Константы в javaScript
const + имя константы + = + значение + ;
const MyX=2; |
Данные, присвоенные константе, в течение программы не меняются!
Javascript типы данных
Определение типа данных необходимо для установления операций, которые можно выполнить над переменными этого типа данных.
Интерпретатор определяет тип переменной по правой части (по присвоенному ей значению).
Объявление локальных переменных осуществляется при помощи ключевого слова let
.
Тип данных | пример / объяснение | |
---|---|---|
javascript undefined type |
значение, которое используется для переменных или свойств объекта, значения для которых не существует или оно не присвоено |
|
Null type |
значение, указывающее на отсутствие объекта |
|
Boolean type логический (true или false) |
|
|
String type строковый |
|
|
Number type числовой |
|
|
RegExp регулярные выражения |
||
Object type | Программный объект, определяемый своими свойствами |
Логический тип (boolean)
Пример использования логического типа:
let a = true; let b = false; c = a && b; // результат false c = a || b; // результат true с = !a; // результат false |
Javascript логические операторы:
Оператор | Название | Пример |
---|---|---|
! | Отрицание (логическое НЕ) | !Х |
&& | логическое И | X && Y |
|| | логическое ИЛИ | X||Y |
Выполните задание по шагам:
- Создайте 3 переменные с использованием ключевого слова
let
с идентификаторами:a
,b
,c
. - Переменной
a
присвойте значениеfalse
. - Переменной
b
присвойте значениеnull
. - Переменная
c
должна принимать значениеundefined
. - Отобразите значение 3-х переменных последовательно в модальных окнах (то есть с помощью метода
alert()
).
Здесь вы можете скачать заготовку кода файла со скриптом. Щелкните правой кнопкой -> Сохранить ссылку как.
Строковый тип (string)
""
, либо в ''
Три способа создания строкового объекта:
имя_переменной = new String("строковое_значение");
myString = new String ("Hello!");
имя_переменной = "строковое_значение";
myString = "Hello!";
let имя_переменной = "строковое_значение";
let myString = "Hello!";
- Конкатенация объединение строк:
- Специальные символы:
Пример:
let x="При"; let y="вет"; let s=x+y; //"Привет" |
\n
— новая строка
\t
— табуляция
alert("мама мыла раму"); alert("мама\n мыла\n раму"); |
"1"+2+3= ?
1+2+"3"= ?
alert()
следующие данные: Ваше ФИО, возраст, хобби (каждое на новой строке: использовать специальные символы).Здесь вы можете скачать заготовку кода файла со скриптом. Щелкните правой кнопкой -> Сохранить ссылку как.
document.write()
вывести в окно браузера строку: Кто ты такой? (с пробелами между словами).
Последовательно выполните:
- Создать 4 переменные с использованием ключевого слова
let
с именамиstr1
,str2
,str3
,concatenation
. - Переменной
str1
присвоить фразу ‘Кто ‘,str2
– ‘ты ‘,str3
– ‘такой?’ - Локальной переменной
concatenation
присвоить результат конкатенации 3-х строк:str1
,str2
,str3
. - Вывести в документ содержимое переменной
concatenation
.
Здесь вы можете скачать заготовку кода файла со скриптом. Щелкните правой кнопкой -> Сохранить ссылку как.
$
внутри строки используется для перевода строкового значения в число и вычисления выражений. Для использования знака необходимо строку помещать в одинарные обратные кавычки `...`
, а числовое выражение — в фигурные скобки {}
:Пример 1:
`2 + 3 = ${2 + 3}` // результат: '2 + 3 = 5' |
Т.е. выражение после знака $
, помещенное в фигурные скобки, будет вычисляться и приклеиваться к строке слева.
Пример 2:
let s = `a=${a}, b=${b}`; // let s = 'a=' + a + ', b=' + b; |
Вот так выглядит красивый вывод результата для строки s.
Числовой тип (number)
int
— целое,long
— длинное целое,float
— вещественное.
Но явное указание типов в коде при объявлении переменной не нужно!
Используется неявное объявление, без указания конкретного типа данных:
let x = 5; // целое let y = 5.6; // вещественное |
Другие примеры:
let x = 5e3; // 5000 let y = 5e-3; // 0.005 |
Префикс 16-ной системы в javascript 0x
:
let x = 0xFF; // 255 |
Префикс 8-ной системы в javascript 0
:
let x = 045; // 37 |
let x = 0/0; // NaN - не число (not a number) let x = 1/0; // Infinity (бесконечность) |
Number(x) — к числовому типу
String(x) — к строковому типу
Boolean(x) — к логическому типу
+x // к числу x+'' // к строке !!x // к булеву типу |
String s = "String"; int a = 10; long b = 25; |
let name = "Меня зовут Вася "; let 2b = 10; let _@c = 15; alert(Name); |
- В каком месте html-документа находится стандартное расположение скрипта JavaScript?
- С помощью какого метода осуществляется вывод диалогового окна?
- Что такое типы данных? Какие типы поддерживает JavaScript?
- С помощью каких операторов создаются комментарии?
3. Арифметические операторы javascript
Операторы предназначены для составления выражений.
Оператор применяется к одному или двум данным, которые в этом случае называются операндами.
Например, оператор сложения применяется к двум операндам (a + b
), а оператор логического отрицания — к одному операнду (¬a
).
=
обычная операция присваивания;+=
,-=
присваивание со сложением или вычитанием;*=
,/=
присваивание с умножением или делением.
у = 5; alert(y); // вывод 5 |
у = 5; alert(y-=2); // вывод 3 |
у = 5; alert(y*=2); // вывод 10 |
Арифметические операторы:
- сложение в javascript:
+
- вычитание в javascript:
-
- умножение в javascript:
*
- деление в javascript:
/
- возведение в степень в javascript:
**
- javascript остаток от деления или деление по модулю:
%
- javascript инкремент или увеличение на 1:
++
- javascript декремент или уменьшение на 1:
--
X + Y; у = 5; х = у + 3; // равно 8 |
X - Y; |
X * Y; |
X / Y; |
X = 8; Y = 2; X ** Y; // 64 |
X = 8; Y = 5; X % Y; // 3 |
Х = 8; Х++; // 9 /* Префиксный инкремент выполняется перед использованием переменной, пример:*/ let number = 100; ++number; // примет значение 101 /*Постфиксный инкремент выполняется после использования переменной, пример:*/ let number = 100; number++; // примет значение 100 alert(number); // выведет число 101 |
Y=9; Y--; // 8 |
let str = "20"; let a = 5; document.write(str + a + "<br/>"); document.write(str - a + "<br/>"); document.write(str * "2" + "<br/>"); document.write(str / 2 + "<br/>"); |
str
является строковым типом, то переменная a
типа Number
неявно преобразуется в строку и далее производится операция конкатенации. Но если операция сложения для строкового значения существует, то операции деления и вычитания для строк отсутствуют, соответственно, действия будут происходить с числами.body
документа. С помощью скрипта вывести в окно браузера инкремент площади.Результат:
Площадь прямоугольного треугольника со сторонами 8 и 10 = 40 Инкремент площади = 41
Алгоритм решения задачи на javascript:
- Инициализация двух переменных.
- Вычисление площади.
- Вывод инкремента с использованием метода
write()
.
Здесь вы можете скачать заготовку кода файла со скриптом. Щелкните правой кнопкой -> Сохранить ссылку как.
- Что выполняют арифметические операции инкремент и декремент?
- Какова разница выполнения инкремента?:
- Как обозначается операция остаток от деления?
S++
++S
Добрый день!
В JS 13, в решении задачи по инкрименту — перепутан инкримент с дикриментом.
Написали про инкримент (40+1), а результат показали дикримента (40-1)
Спасибо! Исправлено
надеюсь моя просьба будет услышана
эх, ну постараемся время выбрать, ответы напечатать. Правда, это займет какое-то время…
не хватает ответов , так как в семье я один разбираюсь а проверить мебя не могу