Javascript: мне нужно поместить this.var для каждой переменной в объекте?
В C ++ язык яm наиболее удобно, обычно один объявляет объект следующим образом:
class foo
{
public:
int bar;
int getBar() { return bar; }
}
призваниеgetBar()
работает нормально (игнорируя тот факт, чтоbar
может быть неинициализирован). Переменнаяbar
вgetBar()
находится в рамках классаfoo
так что я нене нужно говоритьthis->bar
если мне действительно не нужно прояснить, что ям со ссылкой на класс " bar
вместо, скажем, параметра.
Сейчас я'Я пытаюсь начать с ООП в Javascript. Итак, я смотрю, как определить классы и пробую то же самое:
function foo()
{
this.bar = 0;
this.getBar = function() { return bar; }
}
И это дает мнеbar is undefined
, Изменениеbar
вthis.bar
Устраняет проблему, но выполнение этого для каждой переменной немного загромождает мой код. Это необходимо для каждой переменной? Так как я могуне могу найти никаких вопросов, касающихся этого, это заставляет меня чувствовать, что яЯ делаю что-то в корне неправильно.
РЕДАКТИРОВАТЬ: Хорошо, так что, из комментариев, что яя понимаю, чтоthis.bar
, свойство объекта, ссылается на что-то другое, чемbar
локальная переменная. Может кто-то сказать, почему именно это, с точки зрения объема и объектов, и если естьЕще один способ определить объект, где это нет необходимо?