Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.12.2011, 13:25
Аспирант
Отправить личное сообщение для igrok Посмотреть профиль Найти все сообщения от igrok
 
Регистрация: 09.07.2010
Сообщений: 98

использование scope вызывавшего объекта
Приветствую всех,
есть такой код....

var test=function(){
	this.ajaxSend=function(){
		var req=new Request(url, this.callback);
		req.addVar("par1", 1);
		req.addVar("par2", "ыыыыыы");
		req.send();
	};
	this.callback=function(){
		console.log(this);
	};
};
var test1=new test();
test1.ajaxSend();


(Request это обертка над ajax)
результатом в консоли будет объект "Request", а хотелось бы "test1"
подскажите можно ли как то передать scope в callback не делая так "var req=new Request(url, this.callback, this);"


Всем спасибо

Последний раз редактировалось igrok, 23.12.2011 в 13:28.
Ответить с цитированием
  #2 (permalink)  
Старый 23.12.2011, 13:41
Аспирант
Отправить личное сообщение для igrok Посмотреть профиль Найти все сообщения от igrok
 
Регистрация: 09.07.2010
Сообщений: 98

Вобщем пока формулировал вопрос, сам вроде разобрался, вот по этой ссылке
http://stackoverflow.com/questions/1...-success-scope
нашел совет как этого избежать

var test=function(){
	var self=this;

	self.ajaxSend=function(){
		var req=new Request(url, self.callback);
		req.addVar("par1", 1);
		req.addVar("par2", "ыыыыыы");
		req.send();
	};
	self.callback=function(){
		console.log(self);
	};
};
var test1=new test();
test1.ajaxSend();


но если кто знает другие решения если не сложно поделитесь.

Всем спасибо
Ответить с цитированием
  #3 (permalink)  
Старый 23.12.2011, 16:22
Новичок на форуме
Отправить личное сообщение для sashavorkov Посмотреть профиль Найти все сообщения от sashavorkov
 
Регистрация: 12.08.2011
Сообщений: 3

Может еще так
var test=function(){
	function s(p,f){
		return function(){f.apply(p,arguments)}
	};

	self.ajaxSend=function(){
		var req=new Request(url, self.callback);
		req.addVar("par1", 1);
		req.addVar("par2", "ыыыыыы");
		req.send();
	};
	self.callback= s(this,function(){console.log(self);});
};
var test1=new test();
test1.ajaxSend();
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт вычисления координат объекта banderasantonio197555 Events/DOM/Window 4 16.08.2011 17:37
импорт объекта в текущий скоп LedVisel Общие вопросы Javascript 4 06.06.2010 00:31
Как по событию вызвать метод определенного экземпляра объекта jvs jQuery 3 24.12.2009 16:04
Можно ли получить имя экземпляра объекта внутри самого объекта? Ichigeki Общие вопросы Javascript 9 14.11.2008 19:00
Не работает перебор свойств объекта BANick Общие вопросы Javascript 1 16.09.2008 22:46