Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   JavaScript. Функции и объекты. (https://javascript.ru/forum/misc/12897-javascript-funkcii-i-obekty.html)

underW 07.11.2010 22:33

JavaScript. Функции и объекты.
 
function F(){
this.name="vasia"
}
F.value=10;
console.log(new F());


Суть вопроса: что делает 4 строчка? Ошибки она не вызывает, значит она правильная, но я не понимаю ее смысла.
Если смотреть со стороны ООП, то F -описание класса и F.value =10, это как бы мы пытаемся добавить еще одно свойство классу, однако созданный объект, не содержит его. Пожалуйста, проясните ситуацию.

SV0L0CH 07.11.2010 22:39

Это доступно через this.constructor.value
А зачем так делать? Мотивы разные бывают

underW 07.11.2010 22:48

можно пример мотива? :)
Ибо я смысла в этой строчке не осознаю, к сожалению..

SV0L0CH 07.11.2010 23:10

Для полюсовиков это как-бы перегрузка статических переменных, применяется в случаях когда поля прототипа задействованы для других целей, особенно когда в коде используется for-in или нечто подобное.
Сам я этим патерном не пользуюсь, потому примеров приводить не буду.

B@rmaley.e><e 08.11.2010 00:04

1. В JS нет классов.
2. Тем не менее, в JS почти все - объекты и функции не исключение. В данном случае записывается свойство value для объекта функции. И не важно, что его в объявлении класса (предположим, что таковой имеется где-то в недрах JS) его нет.


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