Показать сообщение отдельно
  #1 (permalink)  
Старый 04.11.2011, 17:15
Аспирант
Отправить личное сообщение для jsuse Посмотреть профиль Найти все сообщения от jsuse
 
Регистрация: 10.04.2010
Сообщений: 92

Функция. ее имя и (). Когда ставить? Когда не ставить?
Еще пример из того же раздела http://beta.javascript.ru/tutorial/this

var user = {
firstName: "Вася"
};

function func() {
alert( this.firstName );
}

user.sayHi = func;

(); // this = user


Не понимаю вот что. Вот создается новое свойство user.sayHi. Свойству присваивается функция func. Почему тогда пишется user.sayHi = func, а не user.sayHi = func() ? Ведь выше в коде она определяется как function func(), со скобками т.е., а при sayHi уже без скобок.

И почему для вызова свойства нужны скобки? user.sayHi(), а не user.sayHi. То есть свойство объекта становится функцией? Или наследует свойства функции? Или просто в таком случае к нему обращаться нужно как к функции, хотя это всего лишь свойство?
Ответить с цитированием