Я работаю над небольшим кодом, где пытаюсь скрыть некоторые закрытые переменные внутри замыканий. Дело в том, что среда довольно ограничена с точки зрения памяти, поэтому я также обеспокоен тем, чтобы общая площадь классов была низкой.
Каково влияние использования замыканий для скрытия переменных и методов частного экземпляра по сравнению с простым раскрытием всех методов и переменных объекта? Будет ли экземпляр того, кто использует замыкания, занимать больше памяти, чем экземпляр, который не использовал замыкания? Если да, то сколько еще памяти я буду использовать?
мой код будет выглядеть так
function Foo() {
// private variables
var status = 3;
var id = 4;
...
...
// private methods
var privateMethod = function () {
// do something awesome
}
...
// a whole bunch of these
// public methods
this.publicDriver = function () {
privateMethod();
}
.. a few more of these
};
Versus
function Bar() {
// only define public variables
this.x = 1;
this.y = 3;
}
Bar.prototype.method1 = function () {
// blah;
}
.... Продолжаем и определяем все остальные методы.