Рассмотрим следующий фрагмент кода:Частная переменная, доступная в функции-прототипе node.js?
function C1() {
// private variable in the constructor
a = 1;
}
C1.prototype.f1 = function() {
console.log("a=" + a);
}
C1.prototype.f2 = function() {
a = 2;
process.nextTick(this.f1);
}
o = new C1();
o.f1();
o.f2();
Выход наблюдаемый:
a=1
a=2
Я думал, частные переменные недоступны за пределами функции конструктора?
Вы должны [объявить переменную] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var) - 'var a = 1;'. Просто настройка может создать глобальный характер. http://stackoverflow.com/q/1470488 –