возвращает переменную: console.log(t.a);
Right, поэтому свойство находится в экземпляре t
.
Но ваша функция test.getvariableA
не 'не знаю о t
вообще!Он пытается получить доступ к test.a
, когда вы вызываете test.getvariableA()
.
Возможно, вы хотите поместить метод в объект-прототип вашего класса, а не в сам конструктор.Таким образом, он будет наследоваться всеми экземплярами (например, t
), и вы можете вызвать его на t
, чтобы получить t.a
:
var test = function() {
// var a; - this is not used anywhere, drop it
function test(a, b, c) {
this.a = a;
this.b = b;
this.c = c;
}
test.prototype.getVariableA = function() {
// ^^^^^^^^^^
console.log(this.a);
};
return test;
}();
var t = new test("pizza", "pasta", "steak");
t.getVariableA(); /*
^ */
console.log(t.a);