Я читал книгу Диаса «Про шаблоны проектирования JavaScript». Отличная книга. Я сам не профессионал в любом случае. Мой вопрос: могу ли я иметь статическую функцию, которая имеет доступ к частным переменным экземпляра? В моей программе есть несколько устройств, и выход одного из них можно подключить к входу другого. Эта информация хранится во входных и выходных массивах. Вот мой код:
var Device = function(newName) {
var name = newName;
var inputs = new Array();
var outputs = new Array();
this.getName() {
return name;
}
};
Device.connect = function(outputDevice, inputDevice) {
outputDevice.outputs.push(inputDevice);
inputDevice.inputs.push(outputDevice);
};
//implementation
var a = new Device('a');
var b = new Device('b');
Device.connect(a, b);
Похоже, это не работает, потому что Device.connect не имеет доступа к массивам входов и выходов устройства. Есть ли способ получить к ним доступ, не добавляя привилегированные методы (например, pushToOutputs) на устройство, которое могло бы его выставить?
Спасибо!
Стив.