Мне нужно получить доступ к частной переменной из анонимной функции. Эта анонимная функция задается следующим образом:JavaScript читает приватную переменную от анонимной функции
coolObject = new (function(){
this.public = "public";
var private = "secrets";
// General functions here, no getter or setter for private
})();
я могу легко читать и писать coolObject.public
делая console.log(coolObject.public)
или coolObject.public = "newValue"
, но как я могу сделать то же самое с приватной переменной? Другое дело, что я не могу добавить код в конструктор, coolObject
всегда будет изначально определен следующим образом.
Итак, чтобы суммировать все, есть способ, которым я могу получить доступ к частной переменной из анонимной функции в JavaScript, и если да, то как?
Редактировать: Я попытался создать геттеры и сеттеры, выполнив coolObject.getPrivate = function(){return private;};
, но это не сработает.
Без каких-либо изменений в конструкторе 'coolObject' - нет – dotnetom
Такие переменные называются« закрытыми »по какой-либо причине. Кстати, тот факт, что функция анонимна, здесь не имеет значения. – nnnnnn
Сделать это не частным? Кажется, что точка частной переменной работает по назначению. – Spaceman