JavaScript. Функции и объекты.
function F(){ this.name="vasia" } F.value=10; console.log(new F()); Суть вопроса: что делает 4 строчка? Ошибки она не вызывает, значит она правильная, но я не понимаю ее смысла. Если смотреть со стороны ООП, то F -описание класса и F.value =10, это как бы мы пытаемся добавить еще одно свойство классу, однако созданный объект, не содержит его. Пожалуйста, проясните ситуацию. |
Это доступно через this.constructor.value
А зачем так делать? Мотивы разные бывают |
можно пример мотива? :)
Ибо я смысла в этой строчке не осознаю, к сожалению.. |
Для полюсовиков это как-бы перегрузка статических переменных, применяется в случаях когда поля прототипа задействованы для других целей, особенно когда в коде используется for-in или нечто подобное.
Сам я этим патерном не пользуюсь, потому примеров приводить не буду. |
1. В JS нет классов.
2. Тем не менее, в JS почти все - объекты и функции не исключение. В данном случае записывается свойство value для объекта функции. И не важно, что его в объявлении класса (предположим, что таковой имеется где-то в недрах JS) его нет. |
Часовой пояс GMT +3, время: 16:01. |