Почему параметр функции undefined?

Возникает ошибка:
Uncaught TypeError: Cannot read property 'cookieLife' of undefined
Вызов скрипта:
new changer({
    // время жизни куки для каждого из переходов (в секундах)
    cookieLife: {
      utmContext: 30, 
      socials: 30, 
      otherSites: 30,
      organic: 30, 
      direct: 30, 
    }
  });

Код скрипта:
function changer(settings){
	this.cookieLife = settings.cookieLife;
}

Пробовал так, проблема та же
function changer(settings){

	this.cookieLife = this.settings.cookieLife;
	this.cookiePriority = this.settings.cookiePriority;
	this.changeSerrings = this.settings.changeSerrings;
}
  • Вопрос задан
  • 102 просмотра
Пригласить эксперта
Ответы на вопрос 1
@alexalexes
Проследите за тем, что значит this, там где работает функция.
Контекст this теряется, если функция вызвана обработчиком какого-нибудь события.
PS: если нужно обратиться с собственному классу, то обычно обращаются либо к глобальному экземпляру объекта, либо делают обвязку функции с помощью передачи this через переменную замыкания.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы