@historydev
Редактирую файлы с непонятными расширениями

Почему не могу вызвать прототип внутри функции?

Добрый вечер.Скажите пожалуйста, почему это не работает?

//Quest result function
function Quest(q_id, q_answer) {

	// let element = document.querySelector(`.quest[data-id=${q_id}]`)

	let answer = q_answer

	let result = null

	if(answer == -2) result = 5
	if(answer == -1) result = 4
	if(answer == 0) result = 3
	if(answer == 1) result = 2
	if(answer == 2) result = 1

	console.log(this.prototype.answers)

}

Quest.prototype.answers = [5,4,3,2,1]

Quest(1, -2)
  • Вопрос задан
  • 68 просмотров
Решения вопроса 2
Xuxicheta
@Xuxicheta
инженер
this у вас в данном случае указывает на глобальный объект.
Если вызвать Quest с new, то this будет указывать на новосозданный объект и Quest будет для него конструктором, тогда answers добавятся в прототип этого объекта.
Но this.prototype.answers все равно не сработает, т.к. prototype это свойство функции в котором хранится ссылка на объект который станет прототипом для всех объектов созданных этой функцией как конструктором.
Следует обращаться просто к this.answers
Ответ написан
joeberetta
@joeberetta Куратор тега JavaScript
Читай: https://epdf.pub/google-for-dummies.html
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
25 нояб. 2024, в 19:14
20000 руб./за проект
25 нояб. 2024, в 18:39
30000 руб./за проект
25 нояб. 2024, в 18:35
30000 руб./за проект