bar = function() {
alert(v);
};
Вы сделали bar
глобальным. Это означает, что bar
является второй функцией бара, определенной в вашем вызове e2 = new Eric("I am Eric II");
Исправьте это, используя var bar = ...
, чтобы сделать его локальным.
В качестве отдельной заметки вы забыли var Eric
.
Вам также не нужно локально объявлять var v
, поскольку аргумент конструктора _v
находится в области видимости. Вместо этого вы можете просто продолжать использовать этот аргумент.