this
- это стандартный способ доступа к x
и y
.Вы не получите никаких улучшений от кеширования this
в локальную переменную - если что, вы теряете пространство, сначала объявив self
.
Единственный возможный рисквы бы увидели что-то вроде этого:
var f = new foo();
var stupid = f.addValues;
stupid(); // whoops - this is suddenly the global object,
// and your method is broken.
Сказав это, я не думаю, что вы несете ответственность за людей, злоупотребляющих вашей функцией, и я бы не волновался об этом.
Кроме того, условно, функции, предназначенные для использования в качестве конструкторов, должны начинаться с заглавной буквы.Рассмотрим переименование foo
в Foo