@NicoBurno
Разработчик-прокрастинатор

Как задать переменную для всех дочерних функций объекта JS?

Я разрабатываю веб приложение, в котором активно использую прототипы объектов.
Для удобства хотелось бы иметь короткое имя для доступа к объекту. Этим именем могло бы быть this, но учитывая, что в прототипных функциях у меня могут быть еще функции, где изменится область видимости - этот вариант не подходит.
Задавать переменную и присваивать ей this - тоже не вариант, это лишние строчки кода.

var myClass = function () {}

myClass.prototype {
	foo: function () {
		//тут this это myClass
		var myClass = this;

		function bar () {
			//тут this это НЕ myClass, к нему можно обратиться только через переменную myClass
		}
	}
}


Можно ли как нибудь разом всем дочерним функциям объекта задать переменную?
  • Вопрос задан
  • 262 просмотра
Решения вопроса 1
@iShatokhin
JS developer
myClass.prototype {
  foo: function () {
    var bar = function () {
     // теперь this работает
    }.bind(this);
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы