dir.by  
Программирование, разработка, тестирование
JavaScript - язык программирования для HTML
Класс в JavaScript это обычная функция-конструктор. Такая функция-конструктор содержит простые данные, объекты, внутренние функции В JavaScript. Для создания объекта класса используется new Пример: function Book() { ... } ... var obj1 = new Book(); | стандарт ES5
  Посмотрели 7275 раз(а)    
 Класс в JavaScript это функция-конструктор | стандарт ES5 
последнее обновление: 31 июля 2020
Класс это функция-конструктор, то есть это обычная функция в JavaScript...

// определяем класс (функция-коснструктор)
function MyBook(name)
{
     ...
     // BookName это внутренняя переменная
     var BookName = ;

     // Price это внешняя переменная
     this.Price = 0;
     ...
}


Класс (функция-конструктор) может содержать:
• внутренние переменные: текст, числа, флаги, дата, массив, набор свойств
• внешние переменные: текст, числа, флаги, дата, массив, набор свойств
• внутренние функции
• внешние функции
• статические функции
 
Пример
  Html  
<html>
<body>

<!-- текст на странице -->
<h1>Hello!</h1>

<script language='JavaScript'>

     // определяем класс MyBook
     function MyBook(name)
     {
          // BookName это внутренняя переменная
          // BookName НЕ видна снаружи потому что, объявлена как var
          var BookName = name;

          // Author, Price, Valuta это внешние переменные функции MyBook
          // эти переменные видны снаружи потому что, объявлены как this.
          this.Author = "";
          this.Price = 0;
          this.Valuta = '';

          // MyInfo это внешняя переменная функции MyBook с набором свойств
          // MyInfo видна снаружи потому что, объявлен как this.
          this.MyInfo =
          {
               PagesCount: 90,
               HasPictures: true
          };

          // Shops это внешняя переменная функции MyBook содержит пустой массив
          // Shops виден снаружи потому что, объявлен как this.
          this.Shops = []; // магазины где можно купить книги

          // ShowBookName это внешняя функция-переменная без параметров
          // ShowBookName видна снаружи потому что, объявлена как this.
          this.ShowBookName = function ()
          {
               alert(BookName);
          }

          // ShowBookShops это внешняя функция-переменная с параметром title
          // ShowBookShops видна снаружи потому что, объявлена как this.
          this.ShowBookShops = function (title)
          {
               alert(title + ": " + this.Shops);
               this.MyFuncHello();
          }

          // MyInnerFunc1 это внутренняя функция-переменная
          // MyInnerFunc1 НЕ видна снаружи потому что, объявлена как var
          var MyInnerFunc1 = function ()
          {
               alert("Hello inner function 1");
          }

          // MyInnerFunc1 это внутренняя функция
          // MyInnerFunc1 НЕ видна снаружи потому что, объявлена внутри функции MyBook
          function MyInnerFunc2()
          {
               alert("Hello inner function 2");
          }
     }

     // MyStaticFunc это статическая функция
     // MyStaticFunc видна снаружи и используется только с названием MyBook
     MyBook.MyStaticFunc = function ()
     {
          alert("Hello static function");
     }

     // MyFuncHello это внутренняя функция
     // MyFuncHello НЕ видна снаружи потому что, объявлена внутри функции MyBook
     MyBook.prototype.MyFuncHello = function ()
     {
          alert("Hello function");
     }

     // Создание класса
     var book = new MyBook("Vlastelin kolec");

     // установка значений внешним переменным
     book.Author = "Nik Perumov";
     book.Price = 60;
     book.Valuta = "рублей";
     book.Shops = ["Minsk", "Moscow", "London"];

     // вызов внешней функции-переменной
     book.ShowBookName();
     // на экране увидим "Vlastelin kolec"

     // вызов внешней функции-переменной
     book.ShowBookShops("Магазины");
     // на экране увидим "Магазины: Minsk, Moscow, London"

     // вызов статической функции
     MyBook.MyStaticFunc();
     // на экране увидим "Hello static function"

     // вызов внутренней функции
     book.MyInnerFunc1(); error: 'book.MyInnerFunc1 is not a function'

</script>

</body>
</html>
Создание объекта
Объект создается через new и имя функции.
  JavaScript     Пример
var book = new MyBook();
Внутренние и внешние переменные
MyBook содержит внутреннюю переменную BookName потому что, объявлена как var

MyBook содержит внешние переменные Author, Price, Valuta, MyInfo, Shops потому что, объявлены как this.
  JavaScript  
// класс MyBook
function MyBook(name)
{
...
     // внутренняя переменная
     var BookName = name;

     // внешние переменные
     this.Author = "";
     this.Price = 0;
     this.Valuta = '';

     this.MyInfo =
     {
          PagesCount: 90,
          HasPictures: true
     };

     this.Shops = [];
...
}
this. означает, что объявили внешнюю переменную для класса MyBook.
Эта переменная будет жить столько сколько объект MyBook.

Внутреняя переменная объявлена как var BookName
разрушится сразу после выхода из функции MyBook
На заметку! Переменная BookName используется внутрии функции ShowBookName.
Поэтому переменная BookName будет жить столько же сколько функция ShowBookName.
А функция ShowBookName живет столько же сколько и функция MyBook.
То есть переменная BookName будет жить столько же сколько функция MyBook
Внутренние и внешние функции
Внутри MyBook мы объявили функцию с названием ShowMyMessage с параметром title
  JavaScript  
// класс MyBook
function MyBook(name)
{
     ...
     // функция
     this.ShowMyMessage = function (title)
     {
          alert(title + " " + this.Name + " " + this.MyInfo.PagesCount);
     }
     ...
}
Статические функции
 
← Предыдущая тема
{...} = объект в JavaScript заполняем из переменных класса или другим объектом. Пример: const {name, total, price} = b.myProps; | стандарт ES5
 
Следующая тема →
Инкапсуляция переменных (скрытие переменных для доступа) в функции (в виде класса) В JavaScript | стандарт 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  
Яндекс.Метрика