Какова наилучшая практика для обеспечения «этого» контекста в Javascript?
Вот пример простого класса Javascript с открытым и закрытым методом (fiddle:http://jsfiddle.net/gY4mh/).
function Example() {
function privateFunction() {
// "this" is window when called.
console.log(this);
}
this.publicFunction = function() {
privateFunction();
}
}
ex = new Example;
ex.publicFunction();
Вызов закрытой функции из общедоступной приводит к тому, что this является объектом окна. Как я должен гарантировать, что мои частные методы вызываются с контекстом класса, а не с окном? Это было бы нежелательно?