Показать сообщение отдельно
  #1 (permalink)  
Старый 14.02.2012, 01:45
Профессор
Посмотреть профиль Найти все сообщения от Mахmахmахimus
 
Регистрация: 10.02.2012
Сообщений: 254

Вопрос про Proxy (ES5 Harmony)
(function() {
	var proxy = Proxy.create({
		get : function(proxy, name) {
			if (name < 0 && proxy.length + +name >= 0) {
				return proxy[proxy.length + +name]
			}
		}
	});

	window['arr'] = function() {
		var arr = Array.apply(this, arguments);
		arr.__proto__ = proxy;
		return arr;
	}
})();

var q = arr(1, 2, 3, 4, 5, 6, 7, 8, 9)

alert(q[0])
alert(q[1])
alert(q[2])

alert(q[-1])
alert(q[-2])
alert(q[-3])


при литеральной нотации используется родной конструктор Array.
Как научиться перехватывать запросы с отрицательными числами на ВСЕ массивы, созданные даже вот так [1,2,3] ?

Второй вопрос, как покрасивее сохранить методы массивов? или вообще все придется переписывать?
Ответить с цитированием