dir.by  
Поиск >>

Компьютер, программы
→
JavaScript - язык программирования для HTML
 Область видимости переменных var, let, const в JavaScript | стандарт ES5 
посмотрели 10360 раз
обновлено: 1 августа 2020
в JavaScript переменные объявляется разными способами:
Пример
Что означает?
var
var a = 10;
1. Если переменная объявлена вначале файла то видна везде (внутри всех функций) то есть это глобальная переменная. Пример...

2. Если переменная объявлена внутри функции то видна толко внутри этой функции. Пример...

3. Если переменная объявлена вначале файла и такая же переменная объявлена внутри функции то переменная внутри функции НЕ ВЛИЯЕТ на переменную вначале файла (это разные переменные). Пример...

4. Если объявлена переменная в любом месте и такая же переменная объявлена чуть ниже внутренний блок тогда переменная внутренний блок ВЛИЯЕТ на переменную выше (это одна и таже переменная). Пример...
let
let b = 20;
1. такое же поведение как и var. Пример...

2. такое же поведение как и var. Пример...

3. такое же поведение как и var. Пример...

4. Если объявлена переменная let в любом месте и такая же переменная let объявлена чуть ниже внутренний блок тогда переменная внутренний блок НЕ ВЛИЯЕТ на переменную выше (это разные переменные). Пример...
const
const c = 30;
const переменная такая же как let только не может менять свое значение. Пример...
d = 40;
Если d переменная существует то заменит значение
если d переменная не существует то переменная будет объявлена как var
Пример...
var
  JavaScript      Пример 1. var переменная объявлена в начале файла это глобальная переменная
// объявляем глобальную переменную
var a = 10;

// a переменная видна внутри цикла
for (var i=1; i<=1; i++)
{
     // a = 10
}

// a переменная видна внутри функции
function ShowValue()
{
     // a = 10
}
  JavaScript      Пример 2. var переменная объявлена внутри функции это локальная переменная
function SetValue()
{
     // объявляем локальную переменную
     var a = 15;
}

// вызываем функцию SetValue()
SetValue();

// после выполнения функции SetValue
// a переменная не определена
  JavaScript      Пример 3. var переменная объявлена вначале файла и такая же переменная объявлена внутри функции
// объявляем глобальную переменную
var a = 10;
var t = 30;

// такую же переменную объявляем внутри функции
function SetValue()
{
     var a = 100;
     t = 300;
}

// вызываем функцию SetValue()
SetValue();

// после выполнения функции SetValue
// переменная a = 10
// переменная t = 300
  JavaScript      Пример 4. var переменная и такая же переменная объявлена чуть ниже внутренний блок
// объявляем глобальную переменную
var a = 10;

// объявляем переменную внутренний блок if
if (777==777)
{
     var a = 56;
}

// после выхода из блока if
// a = 56
let
  JavaScript      Пример 1. let переменная объявлена в начале файла это глобальная переменная
// объявляем глобальную переменную
let b = 20;

// b переменная видна внутри цикла
for (var i=1; i<=1; i++)
{
     // b = 20
}

// b переменная видна внутри функции
function ShowValue()
{
     // b = 20
}
  JavaScript      Пример 2. let переменная объявлена внутри функции это локальная переменная
function SetValue()
{
     // объявляем локальную переменную
     let b = 15;
}

// вызываем функцию SetValue()
SetValue();

// после выполнения функции SetValue
// b переменная не определена
  JavaScript      Пример 3. let переменная объявлена вначале файла и такая же переменная объявлена внутри функции
// объявляем глобальную переменную
let b = 20;
let t = 30;

// такую же переменную объявляем внутри функции
function SetValue()
{
     let b = 200;
     t = 300;
}

// вызываем функцию SetValue()
SetValue();

// после выполнения функции SetValue
// b = 20
// t = 300
  JavaScript      Пример 4. let переменная и такая же переменная объявлена чуть ниже внутренний блок
// объявляем глобальную переменную
let b = 10;

// объявляем переменную внутри блока if
if (777==777)
{
     let b = 56;
}

// после выхода из блока if
// b = 10
const
  JavaScript       Пример
// объявляем переменную const
const c = 30;

c = 120; // ошибка! второй раз нельзя устанавливать значение
  пустое объявление переменной
  JavaScript      Пример
// объявляем глобальную переменную
var e = 10;

function SetValue()
{
     // e переменная уже существует поэтому заменим значение
     e = 40;
}

// вызываем функцию SetValue()
SetValue();

// после выполнения функции
// e = 40
 
← Предыдущая тема
Доступ к переменным до их определения (Hoisting) в JavaScript | стандарт ES5
 
Следующая тема →
Текст в JavaScript. Класс String. Пример: var myText = String("World"); | стандарт ES5
 
Ваши Отзывы ... комментарии ...
   
Вашe имя
Ваш комментарий (www ссылки может добавлять только залогиненный пользователь)

 
• В каком редакторе (программе) удобно писать JavaScript код?
Новое приложение
• Создаем новое приложение JavaScript в текстовом редакторе
• Создаем новое приложение JavaScript в Visual Studio Code. Отладка приложения. Смотрим в отладке как по шагам выполняется JavaScript
Отладка JavaScript, HTML
• Отладка JavaScript в Google Chrome. Используем debugger
• Как узнать (увидеть) где ошибка при выполнении HTML, JavaScript в Google Chrome
• Отладка JavaScript в Google Chrome. Используем console.log("Hello!")
JavaScript стандарт ES5. Издан в 2009 году. Поддерживается всеми браузерами
Функция
• Функция в JavaScript. Пример: function CalculateSum(value1, value2) { ... } | стандарт ES5
• Функция return || в JavaScript. Пример: function getPersonName(name) { return name || "Evgen" } | стандарт ES5
• Вызов функции до ее определения (Hoisting) в JavaScript | стандарт ES5
• Переменные внутри функции (время жизни переменных внутри функции) JavaScript | стандарт ES5
• Передача параметров по значению и по ссылке в функцию в JavaScript | стандарт ES5
• Как узнать ... существует ли функция по названию в JavaScript? Пример: typeof calcSum == "function" | стандарт ES5
• Функция описанная внутри функции. JavaScript | стандарт ES5
Безымянная функция
• Безымянная функция в JavaScript . Использование безымянной функции: создаем новую переменную и новой переменной назначаем безымянную функцию. Пример: var myFunc1 = function (a, b) { return a + b; } ; | стандарт ES5
• Безымянная функция в JavaScript . Использование безымянной функции: безымянную функцию передаем как параметр в другую функцию. Пример: Calculate(15, 7, function(v1, v2) {return v1+v2;}); | стандарт ES5
Само-вызывающая безымянная функция
• Само-вызывающая безымянная функция в JavaScript. Где используется? Используется в Yandex рекламе. Пример: ( function(){ ... } )(); | стандарт ES5
• Создаем файл js с объектом содержащий экспортные переменные и функции. Это пример использования само-вызывающей безымянной функции | стандарт ES5
Лямбда функция (сокращенный вариант безымянной функции)
• Лямбда функция в JavaScript . Использование лямбда функции. [Пример1] var myFunc1 = (a, b) => a + b; [Пример2] Calculate(15, 7, (v1, v2) => {return v1+v2;}); | стандарт ES5
Переменные
• Переменные в JavaScript (текст, число, флаг, дата и время) | стандарт ES5
• Доступ к переменным до их определения (Hoisting) в JavaScript | стандарт ES5
• Область видимости переменных var, let, const в JavaScript | стандарт ES5
Текст, строки в JavaScript
• Текст в JavaScript. Класс String. Пример: var myText = String("World"); | стандарт ES5
• Length (длина строки в JavaScript) | стандарт ES5
• Функция replace(text1, text2) заменить текст в JavaScript | стандарт ES5
• Функция toUpperCase() переводит текст в верхний регистр JavaScript | стандарт ES5
• Функция toLowerCase() перевод текста в нижний регистр JavaScript | стандарт ES5
• Функция split(delimiter) разделяет строку на подстроки JavaScript | стандарт ES5
• Функция charAt(position) получить символ по позиции JavaScript | стандарт ES5
• Функция substr(pos, len) возвращает подстроку JavaScript | стандарт ES5
• Функция slice(pos1, pos2) возвращает подстроку JavaScript | стандарт ES5
• Функция substring(pos1, pos2) возвращает подстроку JavaScript | стандарт ES5
• Функция indexOf(text, startPos) ищет подстроку и возвращает индекс JavaScript | стандарт ES5
• Функция startsWith(text) проверяет, начинается ли строка с указанной подстроки JavaScript | стандарт ES5
• Функция trim() удалить пробелы в начале и в конце строки JavaScript | стандарт ES5
• Функция padStart(length, symbol) добавляет в начале строки символы до нужной длины строки JavaScript | стандарт ES5
• Функция padEnd(length, symbol) добавляет в конце строки символы до нужной длины строки JavaScript | стандарт ES5
• В текстовую переменную можно назначить текст как много строк. Пример: var myText = `Hello \n Thanks \n Bye` | JavaScript стандарт ES6
• В текстовой переменной можно писать выражения с переменными (форматирование, интерполяция строки). Пример: var myText = `Hello ${a}` | JavaScript стандарт ES6
Регулярные выражения
• Регулярные выражения в JavaScript | стандарт ES5
• Пишем регулярное выражение чтобы удалить все специальные символы кроме букв и цифр | Regex JavaScript | стандарт ES5
Числа и математические функции
• Числа в JavaScript. Конвертация текста в число. Округление числа. Перевод шестнадцатиричного в десятичное число. | стандарт ES5
• Математические функции из библиотеки Math: Sin, cos, log, pow и так далее в JavaScript | стандарт ES5
Дата и время
• Дата и время (год, месяц, число, часы, минуты, секунды) в JavaScript. Класс Date | стандарт ES5
Массив
• Массив в JavaScript это [] или класс Array | стандарт ES5
• Что значит 3 точки ...items | Пример 1: Math.max(...prices) | Пример 2: books.push(...items) | JavaScript, стандарт ES5
• Различие между push(items) и push(...items) | Добавление массива в массив в JavaScript | стандарт ES5
• Найти max цены в сложном массиве: [ {name:"Tomate", price:10}, {name:"Apple", price:17}, {name:"Orange", price:15} ] в JavaScript | стандарт ES5
• Найти min цены в сложном массиве: [ {name:"Tomate", price:10}, {name:"Apple", price:17}, {name:"Orange", price:15} ] в JavaScript | стандарт ES5
Коллекции Map и Set
• Коллекция "ключ-значение" в JavaScript. Класс Map | стандарт ES5
• Коллекция уникальных значений в JavaScript. Класс Set | стандарт ES5
Объект {набор свойств и функций}
• {} это объект в JavaScript. Объект содержит набор свойств и функции. Пример var book = {Name: "Волшебник Средиземноморья", Price: 120}; | стандарт ES5
• {...} = объект в JavaScript заполняем из переменных класса или другим объектом. Пример: const {name, total, price} = b.myProps; | стандарт ES5
Класс (это функция с использованием new) | стандарт ES5
• Класс в JavaScript это обычная функция-конструктор. Такая функция-конструктор содержит простые данные, объекты, внутренние функции в JavaScript. Для создания объекта класса используется new Пример: function Book() { ... } ... var obj1 = new Book(); | стандарт ES5
• Инкапсуляция переменных (скрытие переменных для доступа) в функции (в виде класса) в JavaScript | стандарт ES5
• prototype - это набор функций, переменных для всех экземпляров класса (в виде функции) в JavaScript | стандарт ES5
try catch
• Зачем нужно использовать try и catch в JavaScript? | стандарт ES5
Замыкание (closure) в Javascript
• Что такое замыкания (closure) в JavaScript ? Стандарт ES5
Управление памятью в JavaScript
• Управление памятью в JavaScript | стандарт ES5
Примеры движение картинки и анимация
• Анимация человечка на месте. Используем HTML элемент <div>. Для анимации используем CSS стили: "animation", "background-image", "background-position", "keyframes" | стандарт ES5
• Анимация человечка в движении (sprite). Используем HTML элементы <div>, <img>. Для анимации используем CSS стили: "animation", "background-image", "background-position", "keyframes" | стандарт ES5
• Рисуем картинку с движением. Используем HTML элемент <canvas>. Для движения используем JavaScript: var img = new Image(), img.src = url, drawImage, timer, window.setInterval | стандарт ES5
• Рисуем картинку с движением и анимацией (sprite). Используем HTML элемент <canvas>. Для движения используем JavaScript: var img = new Image(), img.src = url, drawImage, timer, window.setInterval | стандарт ES5
Примеры
• Как определить устройство (планшет, компьютер, телефон) которое сейчас используется в JavaScript, HTML | стандарт ES5
• Редактор текста пишем на HTML, JavaScript | стандарт ES5
Делаем Popup используя HTML и Javascript
• Как сделать Popup окно в HTML странице | Javascript, HTML, CSS
Моя игра (HTML, JavaScript)
• Моя игра "Wizard World" | HTML, JavaScript
PDF readers. Загрузка и отображение файла PDF (JavaScript, HTML)
• PDF reader. Загрузка и отображение файла PDF (adobe JavaScript, HTML) | PDF JavaScript implemented by Adobe
• PDF reader. Загрузка и отображение файла PDF (JavaScript, HTML) | PDF JavaScript implemented by Mozilla
JavaScript стандарт ES6. Издан в 2015 году. Поддерживается НЕ всеми браузерами. Синонимы ES6, ES2015, ECMAScript 2015
• В текстовой переменной можно писать выражения с переменными (форматирование, интерполяция строки). Пример: var myText = `Hello ${a}` | JavaScript стандарт ES6
• class | Класс в JavaScript. Пример: class Book {...} ... var obj1 = new Book(); | стандарт ES6
• promise в JavaScript | стандарт ES6

  Ваши вопросы присылайте по почте: info@dir.by