Сообщение от Rise
			 
		
	 | 
	
		villiwalla, так в какой теме плохо разобрался в классах или асинхронном коде, зачем их смешал тогда, разберись по отдельности; даже если запишешь ответ в переменную объекта, сразу (синхронно) его не получишь, а получишь не сразу (асинхронно); самый примитивный пример асинхронности это setTimeout тренируйся на нем если не понимаешь что это такое: 
var requestTime = 5000;
var responseText = 'сразу (синхронно)';
setTimeout(function(){
    responseText = 'не сразу (асинхронно)';
    alert('2. ' + responseText);
}, requestTime);
alert('1. ' + responseText);
// ты ожидаешь такой ответ '1. не сразу (асинхронно)' но это не верно.
	 | 
	
Эту ошибку, я уже понял. Меня сейчас интересует, как можно записать ответ в перемеренную внутри объекта. 
var Valute = function () {
this.response = null; // = xhr.responseText
var that = this.response;
 this.sendRequest = function () {
            var xhr = this.createRequest();
                xhr.open('GET', this.url, true);
                xhr.onreadystatechange = function () {
                if(xhr.readyState == 4 && xhr.status == 200) {
                   that = xhr.responseText;  // undefined
                }
            };
            xhr.send(null);
        };
};