Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.11.2010, 21:33
Аспирант
Отправить личное сообщение для underW Посмотреть профиль Найти все сообщения от underW
 
Регистрация: 31.03.2009
Сообщений: 81

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


Суть вопроса: что делает 4 строчка? Ошибки она не вызывает, значит она правильная, но я не понимаю ее смысла.
Если смотреть со стороны ООП, то F -описание класса и F.value =10, это как бы мы пытаемся добавить еще одно свойство классу, однако созданный объект, не содержит его. Пожалуйста, проясните ситуацию.
Ответить с цитированием
  #2 (permalink)  
Старый 07.11.2010, 21:39
Профессор
Отправить личное сообщение для SV0L0CH Посмотреть профиль Найти все сообщения от SV0L0CH
 
Регистрация: 07.11.2010
Сообщений: 301

Это доступно через this.constructor.value
А зачем так делать? Мотивы разные бывают
Ответить с цитированием
  #3 (permalink)  
Старый 07.11.2010, 21:48
Аспирант
Отправить личное сообщение для underW Посмотреть профиль Найти все сообщения от underW
 
Регистрация: 31.03.2009
Сообщений: 81

можно пример мотива?
Ибо я смысла в этой строчке не осознаю, к сожалению..
Ответить с цитированием
  #4 (permalink)  
Старый 07.11.2010, 22:10
Профессор
Отправить личное сообщение для SV0L0CH Посмотреть профиль Найти все сообщения от SV0L0CH
 
Регистрация: 07.11.2010
Сообщений: 301

Для полюсовиков это как-бы перегрузка статических переменных, применяется в случаях когда поля прототипа задействованы для других целей, особенно когда в коде используется for-in или нечто подобное.
Сам я этим патерном не пользуюсь, потому примеров приводить не буду.
Ответить с цитированием
  #5 (permalink)  
Старый 07.11.2010, 23:04
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 18:40
Аналог функции паскаль delay() в javascript varle Общие вопросы Javascript 3 25.10.2010 19:25
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 19:34
Есть ли на JavaScript аналог PHP функции include?) FirstFrost Общие вопросы Javascript 3 13.07.2010 09:13
Функции в JavaScript? ruit Events/DOM/Window 1 03.12.2009 14:38