Front-End Pro. JavaScript

Содержание

Слайд 2

Где можно запускать JavaScript-код ? Браузер Через js-файлы Из консоли Сервисы https://jsfiddle.net https://plnkr.co …. Сервер NodeJS

Где можно запускать JavaScript-код ?

Браузер
Через js-файлы
Из консоли
Сервисы
https://jsfiddle.net
https://plnkr.co
….
Сервер
NodeJS

Слайд 3

Слайд 4

Как выполняется код JavaScript? JavaScript-движок — это программа, или, другими словами,

Как выполняется код JavaScript?

JavaScript-движок — это программа, или, другими словами, интерпретатор,

выполняющий код, написанный на JavaScript

V8 — движок с открытым исходным кодом, написан на C++, разработкой занимается Google.
Rhino — движок с открытым кодом поддерживает Mozilla Foundation, написан на Java.
SpiderMonkey — это самый первый из появившихся JS-движков, в прошлом применялся в браузере Netscape Navigator, а сегодня — в Firefox.
JavaScriptCore (in Webkit) — ещё один движок с открытым кодом, известный как Nitro и разрабатываемый Apple для браузера Safari.
Chakra (JScript9) — движок для Internet Explorer.
Chakra (JavaScript) — движок для Microsoft Edge.

Слайд 5

Подключение JS в HTML-файл My example My message alert('Inline JavaScript');

Подключение JS в HTML-файл





My example


My message

type="text/javascript">
alert('Inline JavaScript');




Слайд 6

Синтаксис. Комментарии // закомментированный код в одну строку /* много строк

Синтаксис. Комментарии

// закомментированный код в одну строку
/*
много
строк
закомментированного
кода
*/

Комментарий - это часть

кода, который не выполняется интерпретатором
Слайд 7

Переменные Переменная - именованная область памяти хранящая некоторое значение, которое может

Переменные

Переменная - именованная область памяти хранящая некоторое значение, которое может быть

изменено во время выполнения скрипта

var message;
message = 'Hello';
alert( message );
var message2 = 'Hello, world!';
var user = 'John', age = 25, message3 = 'Hello, Students!';

Литерал - любое значение, указанное в тексте программы
Константа - именованная область памяти, хранящая некоторое значение, которое не может быть изменено во время выполнения скрипта

Слайд 8

var, let, const var digit = 10; let myDigit = 5; const someDigit = 1;

var, let, const

var digit = 10;
let myDigit = 5;
const someDigit =

1;
Слайд 9

Именование переменных Буквы латинского алфавита (a-z, A-Z) Цифры (но не на

Именование переменных

Буквы латинского алфавита (a-z, A-Z)
Цифры (но не на первом месте)

(0-9)
Знак нижнего подчеркивания, знак доллара ( _ $ )
Запрещено называть зарезервированными словами
Если имя переменной состоит из нескольких слов - писать так: myFirstName
Название переменной должно отражать суть этой переменной, её назначение
Слайд 10

Некоторые зарезервированные слова var let const break continue for function case

Некоторые зарезервированные слова

var
let
const
break
continue
for
function
case
default
delete

return
switch
try
true
false
null
new
if
else
while

Слайд 11

Hoisting (Поднятие переменных) console.log(digit); var digit = 100; console.log(digit); console.log(digit); let digit = 100; console.log(digit);

Hoisting (Поднятие переменных)

console.log(digit);
var digit = 100;
console.log(digit);

console.log(digit);
let digit = 100;
console.log(digit);

Слайд 12

Типы данных Примитивные: Number - целые и вещественные числа; String -

Типы данных

Примитивные:
Number - целые и вещественные числа;
String - строковые значения;
Boolean -

логический тип данных: true или false;
null - “ничего”, “значение неизвестно”
undefined - “значение не присвоено”
Объектный тип (object) - используется для коллекций данных, сложных сущностей. Подвиды объектов:
Array - массив
function - функции
...
Слайд 13

Определение типа данных typeof undefined // "undefined" typeof 0 // "number"

Определение типа данных

typeof undefined // "undefined"
typeof 0 // "number"
typeof true //

"boolean"
typeof "hello" // "string"
typeof {} // "object"
typeof null // "object" (баг в EcmaScript)
typeof function(){} // "function" (подвид объектов)
Слайд 14

Определение типа данных typeof NaN; // number typeof Infinity; //number typeof []; // object

Определение типа данных

typeof NaN; // number
typeof Infinity; //number
typeof []; // object

Слайд 15

Явное преобразование типов var a = 5; console.log(typeof a); // number

Явное преобразование типов

var a = 5;
console.log(typeof a); // number
var b =

"7";
console.log(typeof b); // string
b = parseInt(b);
console.log(typeof b); // number
Слайд 16

Явное преобразование типов var a = '5'; var b = '5.5';

Явное преобразование типов

var a = '5';
var b = '5.5';
console.log(parseInt(b)); // 5
var

c = parseFloat(b); // 5.5
console.log(c);
Слайд 17

Явное преобразование типов Number('25.3'); // 25.3 Number('25.3abcd'); // NaN Number(true); //

Явное преобразование типов

Number('25.3'); // 25.3
Number('25.3abcd'); // NaN
Number(true); // 1
String(false); // "false"
Boolean(1);

// true
Boolean(0); // false
Boolean(-1); // true
Слайд 18

Строковые литералы. Escape-последовательности var str = "Hello, world;\nWe are here"; alert(str);

Строковые литералы. Escape-последовательности

var str = "Hello, world;\nWe are here";
alert(str);

\n - перенос

строки
\t - табуляция
\\ - слэш
\’ - одинарная кавычка
\” - двойная кавычка
Слайд 19

Операторы Унарные Бинарные Тернарный

Операторы

Унарные
Бинарные
Тернарный

Слайд 20

Унарные + (унарный плюс) - (унарный минус) ++ (инкремент) -- (декремент)

Унарные

+ (унарный плюс)
- (унарный минус)
++ (инкремент)
-- (декремент)

Слайд 21

Унарные операторы. Примеры var digit1 = "5"; var digit2 = 3;

Унарные операторы. Примеры

var digit1 = "5";
var digit2 = 3;
console.log(typeof digit1); //

string
console.log(typeof +digit1); // number
digit1 = +digit1; // digit becomes 'number'
console.log(-digit1); // -5
Слайд 22

Инкремент и Декремент var a = 1; alert(a); // 1 //

Инкремент и Декремент

var a = 1;
alert(a); // 1
// Постфиксная форма:
a++;
alert(a); //

2
alert(a++); // 2
alert(a); // 3
// Префиксная форма
alert(++a); // 4
Слайд 23

Бинарные операторы Арифметические Операторы сравнения Логические операторы

Бинарные операторы

Арифметические
Операторы сравнения
Логические операторы

Слайд 24

Арифметические операторы + Сложение (для строк - конкатенация) - Вычитание *

Арифметические операторы

+ Сложение (для строк - конкатенация)
- Вычитание
* Умножение
/ Деление (деление

на 0 => Infinity)
% (деление по модулю)
++ (инкремент)
-- (декремент)
Слайд 25

Бинарные операторы. Примеры var digit = 11; var str0 = 'Hello';

Бинарные операторы. Примеры

var digit = 11;
var str0 = 'Hello';
var str1 =

', ';
var str2 = 'world';
//Concatenation
console.log(str0 + str1 + str2); // Hello, world
console.log(digit + str0); // 11Hello
Слайд 26

Арифметические операторы. Примеры var a = 5; var b = 3;

Арифметические операторы. Примеры

var a = 5;
var b = 3;
console.log(a+b); // 8
var

c = a+b; // 8
c = c * 5; // 40
console.log(c); // 40
console.log(c / 0); // Infinity
Слайд 27

Арифметические операторы. Примеры var a = 5; var b = "3";

Арифметические операторы. Примеры

var a = 5;
var b = "3";
console.log(a+b); // "53"
console.log(a-b);

// 2
console.log(a*b); // 15
console.log(a/b); // 1.66...
Слайд 28

Деление по модулю (остаток от деления) var digit = 10; console.log(digit

Деление по модулю (остаток от деления)

var digit = 10;
console.log(digit % 2);

// 0
var digit2 = 11;
console.log(digit2 % 2); // 1
var digit3 = 123;
console.log(digit3 % 10); // 3
Слайд 29

Операторы сравнения > Больше >= Больше либо равно == Равно ли

Операторы сравнения

> Больше
< Меньше
>= Больше либо равно
<= Меньше либо равно
== Равно

ли (не строгое равно)
!= Не равно
=== Тождественно равно ли (строгое равно)
!== Не тождественно равно
Слайд 30

Операторы сравнения. Примеры var digit1 = 5; var digit2 = 3;

Операторы сравнения. Примеры

var digit1 = 5;
var digit2 = 3;
var value1 =

"3", value2, value3 = null;
console.log(digit1 > digit2); // true
console.log(digit1 === digit2); // false
console.log(digit1 !== digit2); // true
console.log(digit2 == value1); // true
console.log(digit2 === value1); // false
console.log(value2 == value3); // true
console.log(value2 === value3); // false
Слайд 31

Логические операторы && Логическое И ИСТИНА && ИСТИНА = ИСТИНА ИСТИНА

Логические операторы

&& Логическое И
ИСТИНА && ИСТИНА = ИСТИНА
ИСТИНА && ЛОЖЬ =

ЛОЖЬ
ЛОЖЬ && ИСТИНА = ЛОЖЬ
ЛОЖЬ && ЛОЖЬ = ЛОЖЬ
|| Логическое ИЛИ
ИСТИНА || ИСТИНА = ИСТИНА
ИСТИНА || ЛОЖЬ = ИСТИНА
ЛОЖЬ || ИСТИНА = ИСТИНА
ЛОЖЬ || ЛОЖЬ = ЛОЖЬ
! Логическое НЕ
! ИСТИНА = ЛОЖЬ
!ЛОЖЬ = ИСТИНА
Слайд 32

Логические операторы. Примеры console.log(true && true); // true console.log(false && true);

Логические операторы. Примеры

console.log(true && true); // true
console.log(false && true); // false
console.log(false

|| true); // true
Слайд 33

Неявное преобразование типов console.log(1 && true); // true console.log(0 && true);

Неявное преобразование типов

console.log(1 && true); // true
console.log(0 && true); // 0
console.log(0

|| 5); // 5
console.log(0 || 5 || 0 || 1); // 5
console.log(1 && 3 && -1 && 0 && 7); // 0
Слайд 34

Сокращенные арифметические операции var a = 5; a = a +

Сокращенные арифметические операции

var a = 5;
a = a + 1;
a +=

1;
a -= 1;
a *= 1;
a /= 2;
alert(a);
Слайд 35

Взаимодействие с пользователем alert - функция для вывода сообщения пользователю var

Взаимодействие с пользователем

alert - функция для вывода сообщения пользователю

var name =

'Robert';
alert( "Привет" );
alert( name );

var years = prompt('Сколько вам лет?', 100);
alert('Вам ' + years + ' лет!');

var isAdmin = confirm("Вы - администратор?");
alert( isAdmin );

prompt - функция для получения от пользователя данных

confirm - функция для получения от пользователя “Да” / “Нет”

Слайд 36

Получение данных от пользователя var defaultDigit = 5; var digit =

Получение данных от пользователя

var defaultDigit = 5;
var digit = prompt('Enter any

digit', defaultDigit);
alert(digit); // your digit
alert(typeof digit); // string
alert(defaultDigit + digit); // concatenation
digit = parseInt(digit); // convert string to number
alert(typeof digit); // number
alert(defaultDigit + digit); // sum
Слайд 37

Полезная литература http://learn.javascript.ru/hello-world http://learn.javascript.ru/variables http://learn.javascript.ru/variable-names http://learn.javascript.ru/types-intro http://learn.javascript.ru/operators http://learn.javascript.ru/comparison https://www.youtube.com/watch?v=et8xNAc2ic8

Полезная литература

http://learn.javascript.ru/hello-world
http://learn.javascript.ru/variables
http://learn.javascript.ru/variable-names
http://learn.javascript.ru/types-intro
http://learn.javascript.ru/operators
http://learn.javascript.ru/comparison
https://www.youtube.com/watch?v=et8xNAc2ic8