trevoga_su
@trevoga_su

Как получить доступ к родительскому объекту?

Привет!
У меня есть библиотека объектов такого типа:

Lib = {};
/* код для работы со строками */
Lib.string = { trim: function(){....} }
Lib.popup = { /* код для попапов */ }


как из popup обратиться к Lib.string.trim БЕЗ указания полного пути (хотелось бы нечто parent.string.trim)?
Фактически, я хочу иметь ссылку на объект-предок, т.е. на Lib
  • Вопрос задан
  • 638 просмотров
Пригласить эксперта
Ответы на вопрос 2
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Для этого подходит паттерн «Модуль»

var Lib = function () {
	/*Тут можно создавать приватные переменные и функции*/

	var _class = {
		string: {
			trim: function () {
				return this.text;
			},
			text: 'Строки'
		},
		popup: {
			test: function () {
				console.log(_class.string.trim());
			}
		}
	};

	/*Возвращаем объект*/
	return _class;
}();

Lib.popup.test();
Ответ написан
Комментировать
IonDen
@IonDen
JavaScript developer. IonDen.com
Ну можно заранее добавлять ссылку в каждый объект, например так: lib.popup.parent = lib;

Вы себе же все усложните таким подходом. Поймите, ваш lib - универсальная точка входа, а ссылки на родителей, только усложнят всё и запутают, потому что вы можете захотеть обратиться к lib.string например из lib.popup.foo.bar и что, тут вам придется уже писать parent.parent.parent.string?)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы