Вопрос об эффективности закрытия / инкапсуляции в JavaScript

Я новичок в JavaScript, так что терпите меня, если это глупый вопрос.

Допустим, у меня есть «класс», который выглядит так:

var obj = function () {
    var val;
    return {
        setVal: function(newVal) {
            val = newVal;
        },
        getVal: function() {
            return val;
        }
    };
};

Предполагая, что мой синтаксис верен, это определяет класс с «частным» свойством с именем «значение» и методами для установки / получения свойства. Теперь я создам два объекта из этого класса:

var myObj = obj();
var yourObj = obj();

Создает ли это отдельный метод setVal () и getVal () для каждого объекта? Если нет, то почему? Если да, то вызывает ли это серьезное беспокойство при создании эффективных веб-приложений? Стоит ли компромисс (если таковой имеется) эффективности для закрытия в большинстве / во всех контекстах? Я тупой?

Спасибо, Gerard

8
задан GRardB 13 June 2011 в 13:59
поделиться