Короче:
Резюме
частные переменные объявляются с помощью ключевого слова var
внутри объекта, и могут быть доступны только частными функциями и привилегированными методами.
частные функции объявляются встроенными внутри конструктора объекта (или альтернативно могут быть определены через var functionName=function(){...}
) и могут быть вызваны только привилегированными методами (включая конструктор объекта).
привилегированные методы объявлены this.methodName=function(){...}
и могут вызываться кодом, внешним по отношению к объекту.
Публичные свойства объявляются this.variableName
и могут быть прочитаны/записаны вне объекта.
Публичные методы определяются Classname.prototype.methodName = function(){...}
и могут быть вызваны извне объекта.
prototype
свойства определяются Classname.prototype.propertyName = someValue
статические свойства определяются Classname.propertyName = someValue
Вы можете прочитать прекрасную статью здесь:
http://javascript.crockford.com/private.html
Справа. Я думал, что это может быть так, потому что я не мог видеть, как может быть конфиденциальность. Просто хотел, чтобы я удостоверился, что не было чего-то, чего я отсутствовал –