(back) JavaScript (back)
Спочатку JS5 и ніякого ООП. Був контекст пустий, тобто Window. Відтепер у стрічці 14 зробили прив'язку контексту, а у стрічці 15 викликали функцію.
![](/QuickHelp/JS/JS1.png)
Стрічка 11 робить теж саме, але в одну стрічку - створення контексту та відразу виклик функції.
![](/QuickHelp/JS/JS2.png)
З простої функції зробили метод. Відтепер контекст виклику функції - обьект. Bind відтепер непотрібен, він утворюється автоматично. Тобто на відміну від функції контект метода завжди відомий.
![](/QuickHelp/JS/JS3.png)
Bind функции к контексту утворює нову функцію кожний раз.
![](/QuickHelp/JS/JS4.png)
Фабрика, которая возвращает об'ект Person.
![](/QuickHelp/JS/JS5.png)
Функція 21-27 без New ніякого контекста не має, на відміну 15-16, де контекст існує завжди. Функції, які фактично є класи прийнято іменувати з великої літери.
![](/QuickHelp/JS/JS6.png)
Return this - це return за замовчуванням будь-якої функції. У данному випадку New e стрічці 27 створює новий контект і він повертеється з функції (фактично нового об'екту).
![](/QuickHelp/JS/JS7.png)
Додали метод до класу та визвали його. Стрічки 22-24 - це конструктор класу.
![](/QuickHelp/JS/JS8.png)
Додали у стрічці 31 до об'екту прототип зі свойством car.
![](/QuickHelp/JS/JS9.png)
![](/QuickHelp/JS/JS10.png)
![](/QuickHelp/JS/JS11.png)
Винесли функцію у прототип. Функція завжди викликається з правильним контекстом об'екту.
![](/QuickHelp/JS/JS12.png)
Сумарний скрин.
![](/QuickHelp/JS/JS13.png)
Весь Javascript зроблений на вбудованих класах. Приблизно так зроблена вбудована функція map у прототіпа Array.
![](/QuickHelp/JS/JS14.png)
Статичне свойство у стрічці 6 належить усім єкземлярам відразу
![](/QuickHelp/JS/JS15.png)
З 2016 року працюю JS6 з новим сінтаксісом class. Це взагалі нові можлиості JS6 http://es6-features.org
Відтепер, з об'явої class можливо також зробити не тільки статичне свойство, але й статичний метод.
![](/QuickHelp/JS/JS17.png)
Get/Set свойства
![](/QuickHelp/JS/JS18.png)
![](/QuickHelp/JS/JS19.png)
Успадкування класів
![](/QuickHelp/JS/JS20.png)
Super - це MyBase.
![](/QuickHelp/JS/JS21.png)
![](/QuickHelp/JS/JS22.png)
Фунція, та її зовнішні змінні навколо неї, з якими вона працює.
![](/QuickHelp/JS/JS23.png)
![](/QuickHelp/JS/JS24.png)
![](/QuickHelp/JS/JS25.png)
![](/QuickHelp/JS/JS26.png)
![](/QuickHelp/JS/JS27.png)
![](/QuickHelp/JS/JS28.png)
![](/QuickHelp/JS/JS29.png)
![](http://forum.vb-net.com/GetTopicCount.png?id=d9e11226-531d-43b6-b7ba-36cc7d1df371)
<SITEMAP> <MVC> <ASP> <NET> <DATA> <KIOSK> <FLEX> <SQL> <NOTES> <LINUX> <MONO> <FREEWARE> <DOCS> <ENG> <CHAT ME> <ABOUT ME> < THANKS ME> |