| 
 Практика: Функция конструктор и геттер. Недавно просматривая вакансии от компании Яндекс, встретил следующую задачу: Реализуйте конструктор RandomNumber, экземпляры которого при каждом обращении будут возвращать случайное число от 0 до 100. Пример: 
var random = new RandomNumber();
alert(random); // 46
alert(random); // 87
alert('First value: ' + random + ', second value: ' + random); // First value: 64, second value: 5
Первое что пришло в голову это использовать Геттеры при создании объекта: 
var
    o = {
      get random () { return Math.round( Math.random() * 100 ) }
    };
alert( o.random );
alert( o.random );
alert( 'First value: ' + o.random + ', second value: ' + o.random );
Как видно это решение не совсем соответствует требованию задачи. Но как сделать чтоб функция конструктор возвращала непосредственно Геттер? Возможно что я изначально не правильно подошел к решению этой задачи. P.S. Да простят меня | 
| 
 Цитата: 
 во-вторых: toString() в-третьих: valueOf() 
function Foo() {}
	
Foo.prototype.valueOf = Foo.prototype.toString = function() {
    return Math.random();
};
      
var obj = new Foo();
var x = obj;      
alert( obj );
alert( x );
 | 
| 
 Все ясно, спасибо. | 
| Часовой пояс GMT +3, время: 11:35. |