Skip to content

Sergei1984/JSlessons

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Определения

Выражение - это кусочек кода, который вычисляется в какое-то значение. Их можно использовать везде, где ожидается какое-то значение. Примеры выражений:

  • константы
console.log(50); // 50 -константа(не меняется)
  • чтение значения переменной
const a = 6; 
const b = a; // а - выражение
  • математические и логические операции
console.log(5+6); // 5+6 - выражение
  • вызов функции, которая возвращает значение
function add(x, y){
    const p =x*y;
    const s = x + y;
    return s;
} 

console.log(add(5, 6)); // add(5, 6) - выражение

Блок кода - это несколько инструкций, сгрупированных вместе. Если блок кода состоит из нескольких строк, то он должен заключаться в фигурные скобки.

1. Переменные

Переменные - это способ дать имя значению. Из переменной можно прочитать значение, и в переменную можно записать значение.

В JS переменные задаются так:

var a; // объявление переменной а. Сейчас так не делают.
let b; // объявление переменной b, которой можно присваивать новое значение.
const c = 10; // объявление переменной с и присваивание ей значения. Больше этой переменной присваивать значений нельзя.

В переменную можно записать значение:

let a;
a = 10;
a = 20;

Из переменной можно прочитать значение:

let a = 10;
console.log(a); // выводим значение а на консоль( чтоб было видно в консоли).
let b = a; // переменной можно присвоить значение другой переменной.

С переменной можно обращаться так же, как и со значением:

let a = 10;
let b = a*5; // b == 50

Правила именования переменных:

  • Имя переменной должно начинаться с буквы или знака подчеркивания
let _ao_ = 10;
let ero; 
  • Имя переменной может содержать буквы, цифры, знак подчеркивания
let _3f6_;
let a3456;
let __ee_5 = 34;
  • Переменные обычно называют с маленькой буквы, если название переменной включает несколько слов,то каждение слово начинается с большой буквы(не включая заглавную)
let smoke;
let smokingIsBadForOurLife;

2. Функции

Функция - это кусочек кода, у которого есть имя и ноль или больше параметров. Функция объявляется один раз, и потом может быть вызвана несколько раз, возможно с разными аргументами.

Функция может возвращать значение(а может и нет).

2.1 Объявление функции

function add(x, y){
    return x + y;
}

Объявление функции начинается с ключевого слова function, далее через пробел идет имя функции, круглые скобки, внутри скобок список параметров через запятую и тело функции, заключенное в фигурные скобки. Внутри тела функции может использоваться ключевое слово return, при помощи которого из функции возвращается значение.

В теле функции можно писать практически любой код: объявлять переменные, вызывать другие функции, писать циклы, условия, даже объявлять другие функции.

Правила для имен функции и параметров функции такие же, как и для переменных.

Примеры:

function printSum(p, o){
    console.log(p+o)
}
function add(u, i, y){
    return (u+i)*y;
}
function add(u, i, y){
   const s = u+i;
   console.log(s)
    return s*y;
}

2.2 Вызов функции

Функция вызывается по имени. После имени обязательно указываются круглые скобки. Если у функции есть аргументы, они перечисляются внутри круглых скобок через запятую в том же порядке, как и параметры функции.

Параметры - в объявлении функции, аргументы - значения параметров при вызове функции.

Примеры:

function add(x, y){
    return x + y;
}

const s = add(5, 7)
function print(x){
    console.log(x);
}

function square(p){
    return p*p;
}

3. Литералы

Литерал - это значение определенного типа, записанное в коде.

Примеры:

  • литерал числа:
сonst a = 5.4; // дробные числа пишуться всегда с точкой
  • литерал строки, можно использовать двойные, одинарные или обратные кавычки.
const a = "Hello, I am Elya."; 
const b = 'I live in Kharkiv.';
const c = `I am 15 years old.`;
const d = `Info about me: ${a} ${b} ${c}`; // строки подстановки, можно вставлять значения выражения внутрь строки
  • литерал логического типа:
const yes = true;
const no = false; 
  • литерал объекта

  • литерал массива

  • литерал отсутствующего значения undefined. Это значение объявленой переменной, которой не присвоено значение:

let a; // a === undefined
  • литерал пустого значения null

4. Логические выражения

Логическое выражение - это выражение сравнения двух значений.

  • операторы сравнения
console.log(1 > 2); // false
console.log(2*2 >= 1); // true 
console.log("Lama" === ("La" + "ma")); // true
console.log("Hi" !== "OMG"); // true
  • логические операторы

&& - логическое И.

|| - логическое ИЛИ.

! - логическое НЕ.

console.log(true && true); // true
console.log(false || true); // true
console.log((2*5 < 10) || (3*6 === 20)); // false
console.log(
    (3*3 === 10) || 
    (("Cafe" === "Sweeter") && (17 - 10 === 7))
); // false

5. Условный оператор

Условный оператор позволяет выполнять блок кода, если какое-то условие истинно. Условный оператор имеет вид:

if(condition) {
    // condition is true
} else {
    // condition is false
}

condition - выражение, которое вычисляется в true или false

блок else не обязателен

6. Циклы

Цикл позволяет выполнить блок кода несколько раз. Циклы бывают двух типов: цикл с шагом и цикл с условием. Цикл с шагом позволяет выполнить блок кода заданное количество раз; цикл с условием позволяет выполнять блок кода, пока определенное условие истинно.

6.1 Цикл с условием

while(condition){
    // код
}

Примеры:

  • вывести в консоль числа от 1 до 10
let a = 1;
while(a <= 10){
    console.log(a);
    a = a + 1;
}

6.2 Цикл с шагом

Цикл с шагом позволяет выполнить тело цикла определенное количество раз. Цикл с шагом используется, когда количество повторений известно заранее, или может быть вычислено.

for (
// инициализация цикла: объявление переменных и установка их значений
; 
// условия завершение цикла: сравнение переменной с каким-то значением
;
// шаг цикла: изменение значения переменной
){
      //code
} 

Пример:

  • вывести в консоль числа от 1 до 10
for(let i = 1; i <= 10; i = i + 1){
    console.log(i);
}
  • вывести в консоль числа от 1 до 10 с шагом 2
for(let y = 1; y <= 10; y = y + 2){
    console.log(y);
}

6.3 Оператор break и continue

Директива break дает нам возможность прервать цикл без проверки условий в любой момент. Далее оператор передаёт управление на строку за телом.

Директива continue также прерывает выполнение цикла, но не всего, а только той части, которая находиться после этого слова.

7. Объекты и массивы

Объекты и массивы позволяют объединить несколько значенийм в группу. С этой группой можно обращаться, как с одним значением: сохранять в переменную, передавать в функцию как аргумент, возвращать из функции. В то же время, можно получить доступ к каждому значению.

Объект группирует несколько значений в одно; каждое значение в объекте будет доступно по имени. Эти значения называются полями или свойствами объекта.

Массив группирует несколько значений в список; каждое из значений будет доступно по порядковому номеру, который называется индекс. Первое значение в массиве будет иметь индекс, равный нулю.

В полях объекта и в элементах массива могут лежать значения любого типа: примитивные значения (числа, логические значения, null, undefined), другие объекты, другие массивы и функции.

7.1 Работа с объектами

  • задание объекта при помощи литерала объекта
const person = {
    name: `Elya`, 
    age: 15
};
console.log(person.name); // Elya
console.log(person.age); // 15
person.age = 30;
console.log(person.age); // 30 

console.log(person.dog); // undefined
  • создание пустого объекта
const m = {}; 
  • создание объекта путем задания свойств:
const person = {};
person.name = `Elya`;
person.age = 15;
  • задание вложенных объектов
const person = {
    name: `Elya`,
    age: 12,
    dog: {
        "Year of birth": 2003,
        name: `William`
    }
};
console.log(person.dog.name) // William
console.log(person.dog["Year of birth"]) // 2003
  • функция как поле объекта
const person = {
    name: `Elya`,
    sayhi: function (name){
        console.log(`Hi, ${name}, I am ${this.name}`)
    }
}; 
person.sayhi(`Katya`) // Hi, Katya, I am Elya

7.2 Работа с массивами(arrays)

Массив - это специальный объект, который содержит в себе упорядоченный набор элементов, позволяет добавлять/удалять элементы, а также получать к ним доступ, используя порядковый номер элемента, который называется индекс. Индекс первого элемента равен 0. В массиве могут лежать любые значения: примитивы,объекты, другие массивы, функции, null и undefined. Также в массиве могут лежать разные значения с разными индексами.

  • литерал массива
const a = []; // empty array
const b = [3, 2, 1]; // array of numbers
const c = [`F`, `U`, `K`] // array of strings
const d = [{
    name: `jim`,
    age: 10
}, {
    rate: 4,
    hair: `blue`
}]; // array of objects
const e = [1, `Hi`, {
    age: 14
}]; // array of vaiues of different types
const f = [[1, 2], [`Hi`, `Kara`]]; // array of arrays
  • чтение и запись элемента массива. Для получения доступа к элементу массива используется оператор [ ]
const f = [1, 3];
console.log(f[0]) // выведет 1
f[1] = 10 // f - [1, 10]
  • получение длины массива - используется свойство массива length
const g = [`H`, `A`, `Y`];
console.log(g.length);

8. Области видимости

Область видимости - это область внутри программы, в которой доступны определенные сущности: переменные, функции и другие.

Какие бывают области видимости:

  • тело функции(область внутри функции): в ней доступны

    • параметры этой функции
    • переменные, объявленные внутри функции
    • функции, объявленные внутри функции
    • переменные и функции из внешней области видимости В ней не доступны переменные, функции и др., объявленные в других функциях.
  • блочная область видимости - это область между открывающейся и закрывающейся фигруными скобками. Переменные, объявленные при помощи let и const доступны только в блочной области видимости, где они объявлены.

  • глобальная область видимости : переменные и функции оттуда доступны в любом месте программы. Например, в глобальной области видимости находится объект console.

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%