Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Chrome dev 19 Смотрите как классно! Но вопрос (https://javascript.ru/forum/offtopic/25737-chrome-dev-19-smotrite-kak-klassno-no-vopros.html)

Mахmахmахimus 14.02.2012 01:20

Chrome dev 19 Смотрите как классно! Но вопрос
 
(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] ?

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

Nekromancer 15.02.2012 21:47

Mахmахmахimus,
а чё, никак на прямую слушать прототип массива? И ваще, хром-хром, в лисе это добро чуть ли не пол года уже.

Mахmахmахimus 15.02.2012 22:29

Цитата:

Сообщение от Nekromancer
а чё, никак на прямую слушать прототип массива?

Array prototype не заменяется проксей
вот я и думаю может как то заменяется


Цитата:

Сообщение от Nekromancer
И ваще, хром-хром, в лисе это добро чуть ли не пол года уже.

а я знаю я хромоёб в душе)

FINoM 16.02.2012 05:58

Цитата:

Сообщение от Nekromancer
а чё, никак на прямую слушать прототип массива? И ваще, хром-хром, в лисе это добро чуть ли не пол года уже.

При всём уважении к лисе, они могут делать по-делать, но остальным производителям браузеров будет пофиг до тех пор, пока хром не зачешется. Кажется я это уже говорил.

Mахmахmахimus 16.02.2012 06:09

Цитата:

Сообщение от FINoM
но остальным производителям браузеров будет пофиг до тех пор, пока хром не зачешется.

тоже заметил

Nekromancer 16.02.2012 14:21

FINoM,
Это будущий стандарт. Раз на то пошло, Chrome не первая инстанция реализации JS стандартов.

А вот другие не зачешется. Майкрософту вообще по барабану, он как devote, пока нет финальной версии стандарта, он и не парится. Опера выпускает обновление JS движка раз в 10 лет. Так что странно говорить про других, когда есть всего 2 лидера, Хром и Лиса.

Mахmахmахimus 16.02.2012 15:39

Кстати если бы все поставили заглушки от НЕ хрома и лисы, тогда бы через неделю все перешли на них.
Продавцы интернет магазинов стали бы больше продавать делая более удобные html5 сайты.

devote 16.02.2012 17:44

Цитата:

Сообщение от Nekromancer
Опера выпускает обновление JS движка раз в 10 лет.

Что ты имеешь ввиду под словами выпускает обновления? Обновляется движок часто, новые версии переписанные выходят редко не спорю, в прочим как у всех.

Цитата:

Сообщение от Mахmахmахimus
Кстати если бы все поставили заглушки от НЕ хрома и лисы, тогда бы через неделю все перешли на них.

Ага мечты

Nekromancer 16.02.2012 18:15

devote,
Что написал то и имел введу.

devote 16.02.2012 18:54

Цитата:

Сообщение от Nekromancer (Сообщение 157939)
devote,
Что написал то и имел введу.

В любом случае ты не совсем прав, опера не раз в 10 лет это делает... А часто как и все, именно обновляет. Переписывает редко, что впрочем и другие делают редко... Хром так вообще как выпустил v8 так и обновляет, новых переписанных версий нет.


Часовой пояс GMT +3, время: 07:45.