Как достать инкапсулированное значение в прототип? Как это выглядит: function A(a,b){ this.a = a this.b = b var arr = [a,b] } A.prototype.A1 = function(){ console.log(this.a) } A.prototype.A2 = function(){ console.log(this.arr) } var a1 = new A(1,2) a1.A1() //1 a1.A2() //undefined Как использовать arr в прототипе?
Ответ arr в данном коде является локальной переменной. Доступ к локальной переменной может быть осуществлен только внутри функции, в которой объявлена переменная. Либо во внутренних функциях. function A(a,b){ this.a = a this.b = b var arr = [a,b] function B(){ console.log('B', arr) // доступно } console.log('A', arr) // доступно } A.prototype.C = function (){ /* arr недоступен */ } Таким образом, использовать локальную переменную arr где-то еще кроме функции A - невозможно.