Показать сообщение отдельно
  #1 (permalink)  
Старый 03.05.2014, 14:56
Интересующийся
Отправить личное сообщение для MishaUA Посмотреть профиль Найти все сообщения от MishaUA
 
Регистрация: 03.05.2014
Сообщений: 26

Помогите новичку с колбэками
Всем привет!
Несколько лет программирую на С/С++. Сейчас пишу программу на Qt с использованием QtScript, чтобы программу можно было расширять с помощью ECMAScript (почти тот же JavaScript).
Проблемы у меня возникли на стадии изучения ООП на JavaScript. Допустим, есть код:
var ob = {
	function func(callb) {
		callb();
	}
}

function MainObject() {
	var	testVar = false;
	
	ob.func(function(){
		this.testVar = true;
	});
}

var mobject = new MainObject();

Нужно, чтобы в конструкторе MainObject вызвалась функция func объекта ob и выполнила переданную функцию, сама функция должна установить переменную testVar функции MainObject.
Если бы не было последней строки, можно было бы callb() заменить на callb.call(MainObject) (наверно). Но как задать объект this в данном случае?
Спасибо!
Ответить с цитированием