Показать сообщение отдельно
  #1 (permalink)  
Старый 24.02.2015, 12:55
Новичок на форуме
Отправить личное сообщение для emptinessandform Посмотреть профиль Найти все сообщения от emptinessandform
 
Регистрация: 24.02.2015
Сообщений: 4

Этот "this" меня убивает. Помогите
я застрял в решении задачи. Уже весь свой маленький мозг выскреб.

вот что мы имеем в начале.
function NamedOne(first, last) {
    this.firstName = first;
    this.lastName = last;
    this.fullName = this.firstName + ' ' + this.lastName;
}
var namedOne = new NamedOne("Ваня","Иванов")

что мы получаем

namedOne.firstName // -> "Ваня"
namedOne.lastName // -> "Иванов"
namedOne.fullName // -> "Ваня Иванов"

теперь же я изменяю свойства имени и фамилии
namedOne.firstName = "Петя"
namedOne.firstName // -> "Петя" //вывело!

namedOne.lastName = "Петров"
namedOne.lastName // -> "Петров" //вывело!

а вот и проблема, полное имя не изменилось.
namedOne.fullName // -> "Ваня Иванов" // вывело старое значение

надо сделать так что бы оно выводило измененные значения
именно namedOne.fullName // -> "Петя Петров"

this.fullName = function() {
			 return this.firstName + ' ' + this.lastName;
		};

через функцию не получается потому, что вызов namedOne.fullName() должен быть без скобок
Ответить с цитированием