Показать сообщение отдельно
  #9 (permalink)  
Старый 24.08.2013, 23:42
Аватар для Arramis
Кандидат Javascript-наук
Отправить личное сообщение для Arramis Посмотреть профиль Найти все сообщения от Arramis
 
Регистрация: 22.07.2013
Сообщений: 104

Сообщение от Tim Посмотреть сообщение
В контексте этого обработчика this будет иметь другой смысл. По этому значение this сохраняется в переменную, чтобы потом, из "более глубоких участков кода" получить доступ к этому объекту. По смотри на мой пример выше внимательнее. По моему всё очевидно. this это не константа. его значение меняется. this это объект в контексте которого вызвана ф-я.
кажется по немногу начинаю врубаться))

var obj = new (function() {
		var self = this; 						
		self.myVar = "this variable is from outer object!";
		
		return {
				f:  function() {					
						return {
							innerF: function() { 
										return {
											innerFofInnerF: function() {
																return {
																	self: self.myVar
																};	
															}
										};
							}
						};
				},
		};		
})();		
	var result_f = obj.f().innerF().innerFofInnerF().self;
	alert(result_f); // this variable is from outer object!

спасибо за помощь )
Ответить с цитированием