Свойства объекта, методы и this. Почему свойство вызывается с () ?
Вопрос по этой статье http://beta.javascript.ru/tutorial/this
Самый первый пример. var user = { firstName: "Вася", sayHi: function() { alert( this.firstName ); // при вызове user.sayHi() будет this = user } } Объясните, почему одно из свойств объекта нужно вызывать так: user.sayHi() ? Почему не user.sayHi ? (без скобок, то есть). Это же свойство, а не функция. Зачем к свойству скобки? То есть, следуя такой логике, нужно и firstName вызывать со скобками, т.е. user.firstName() То есть, я не понимаю, почему свойство нужно вызывать со скобками? Или правило такое, что если свойству объекта присвоена функция, то свойство само становится функцией? Тогда, по логике, свойству и значение передавать можно, типа так: user.sayHi(«Вася»); Объясните, что к чему, плз. |
Цитата:
var user = { firstName: "Вася", sayHi: function() { alert('Привет, '+this.firstName); } }; // Показать значение свойства alert(user.firstName); // Вызвать метод user.sayHi(); |
Цитата:
var user = { firstName: "Вася", sayHi: function() { alert( this.firstName ); // при вызове user.sayHi() будет this = user } } alert([user.sayHi, user.sayHi.length]) |
Часовой пояс GMT +3, время: 23:23. |