Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Статические методы и свойства объектов. Есть вопрос. (https://javascript.ru/forum/misc/66159-staticheskie-metody-i-svojjstva-obektov-est-vopros.html)

LawLiss 28.11.2016 20:34

Статические методы и свойства объектов. Есть вопрос.
 
Разбираюсь с примерами статических методов:

function Article() {
Article.count++;
}

Article.count = 0;

Article.showCount = function() {
alert( this.count ); // (1)
}

// использование
new Article();
new Article();
Article.showCount(); // (2)


Что выполнется раньше?

При вызове функции конструктора new Article() - сначало выполнятся действия в фигурных скобках

function Article() {
Article.count++;
}

или

сначала в пустой, только что созданный объект, запишется свойство count и метод showCount, а потом выполнятся скобки!

Спасибо

fuckingquest 28.11.2016 20:48

Причем тут статические методы?

При каждом создании объекта у тебя вызывается функция-конструктор, которая и делает инкремент.

fuckingquest 28.11.2016 20:57

Цитата:

Сообщение от LawLiss
сначала в пустой, только что созданный объект, запишется свойство count и метод showCount, а потом выполнятся скобки!

У тебя там в пустой объект вообще ничего не пишется, ты ж напрямую свойство конструктора инкрементишь.

Забудь вообще про это слово "статические методы" в отношении JS, это бессмысленная лабуда, есть просто свойство или метод конструктора, нет никаких статических методов.

Rise 28.11.2016 20:57

Цитата:

Сообщение от LawLiss (Сообщение 436446)
сначала в пустой, только что созданный объект, запишется свойство count и метод showCount

Нет, ничего такого не происходит, this.count в данном случае это Article.count.


Часовой пояс GMT +3, время: 14:18.