Есть объект, с большим количеством методов и внутри которых есть свои объекты. И часто становится необходимо иметь доступ к методам родителя т.е главного объекта, а в переменной this только тот который его вызвал, будет ли правильным обращаться к методам объекта родителя через глобальную переменную, пример кода ниже:
// Глобальная переменная
var Febox = {
init: function (){ ... },
ajax: {
get: function () {
},
post: function () { ... }
},
handle: 'shop',
product: {
addProduct: function (){ ... },
productList: function (){
// Обращаемся к методу ajax через глобальную переменную Febox
Febox.ajax.get('/dashboard/product', { ... }, function (){
});
}
}
};
Можно конечно поступить так, в каждом методе, объекте создать свойство ссылающаяся на this родителя, но в этом случае придется в более чем 100 методов и объектов переписывать, в принципе обращение к объекту через глобальную переменную работает без нариканий, тем более что она не является сама по себе глобальной, она находится локально внутри функции
(function(){
Febox = { ... }
}())
Правильно поступаю я обращаясь к методам через переменную объекта? или все же стоит помучатся с this или есть более изящное решение?