Я хочу, чтобы основной объект M содержал подобъект S, у которого есть некоторый метод E, который имеет закрытую переменную P. Я также хочу, чтобы метод E имел доступ к M через другую переменную V. Для частных переменных я делаем это:
M.S = function () {
var P,
V; // how to set V to M?
return {
E: function () {
// stuff goes here
}
}
}();
Одним из решений, которое я нашел, было удалить () в последней строке, а затем вызвать анонимную функцию создания S как метод M. это решает проблему, но я думаю, что может быть более элегантный способ сделать это.
M.S = function () {
var P,
V = this;
return {
E: function () {
// stuff goes here
}
}
};
M.S = M.S()
В основном мне нужно знать, что является хорошей практикой для этого, так как я новичок в закрытых переменных в Javascript.