14.02.2012, 01:20
|
Профессор
|
|
Регистрация: 10.02.2012
Сообщений: 254
|
|
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] ?
Второй вопрос, как покрасивее сохранить методы массивов? или вообще все придется переписывать?
Последний раз редактировалось Mахmахmахimus, 14.02.2012 в 01:30.
|
|
15.02.2012, 21:47
|
|
Профессор
|
|
Регистрация: 06.05.2009
Сообщений: 1,163
|
|
Mахmахmахimus,
а чё, никак на прямую слушать прототип массива? И ваще, хром-хром, в лисе это добро чуть ли не пол года уже.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
|
|
15.02.2012, 22:29
|
Профессор
|
|
Регистрация: 10.02.2012
Сообщений: 254
|
|
Сообщение от Nekromancer
|
а чё, никак на прямую слушать прототип массива?
|
Array prototype не заменяется проксей
вот я и думаю может как то заменяется
Сообщение от Nekromancer
|
И ваще, хром-хром, в лисе это добро чуть ли не пол года уже.
|
а я знаю я хромоёб в душе)
|
|
16.02.2012, 05:58
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от Nekromancer
|
а чё, никак на прямую слушать прототип массива? И ваще, хром-хром, в лисе это добро чуть ли не пол года уже.
|
При всём уважении к лисе, они могут делать по-делать, но остальным производителям браузеров будет пофиг до тех пор, пока хром не зачешется. Кажется я это уже говорил.
|
|
16.02.2012, 06:09
|
Профессор
|
|
Регистрация: 10.02.2012
Сообщений: 254
|
|
Сообщение от FINoM
|
но остальным производителям браузеров будет пофиг до тех пор, пока хром не зачешется.
|
тоже заметил
|
|
16.02.2012, 14:21
|
|
Профессор
|
|
Регистрация: 06.05.2009
Сообщений: 1,163
|
|
FINoM,
Это будущий стандарт. Раз на то пошло, Chrome не первая инстанция реализации JS стандартов.
А вот другие не зачешется. Майкрософту вообще по барабану, он как devote, пока нет финальной версии стандарта, он и не парится. Опера выпускает обновление JS движка раз в 10 лет. Так что странно говорить про других, когда есть всего 2 лидера, Хром и Лиса.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
|
|
16.02.2012, 15:39
|
Профессор
|
|
Регистрация: 10.02.2012
Сообщений: 254
|
|
Кстати если бы все поставили заглушки от НЕ хрома и лисы, тогда бы через неделю все перешли на них.
Продавцы интернет магазинов стали бы больше продавать делая более удобные html5 сайты.
|
|
16.02.2012, 17:44
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от Nekromancer
|
Опера выпускает обновление JS движка раз в 10 лет.
|
Что ты имеешь ввиду под словами выпускает обновления? Обновляется движок часто, новые версии переписанные выходят редко не спорю, в прочим как у всех.
Сообщение от Mахmахmахimus
|
Кстати если бы все поставили заглушки от НЕ хрома и лисы, тогда бы через неделю все перешли на них.
|
Ага мечты
|
|
16.02.2012, 18:15
|
|
Профессор
|
|
Регистрация: 06.05.2009
Сообщений: 1,163
|
|
devote,
Что написал то и имел введу.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
|
|
16.02.2012, 18:54
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от Nekromancer
|
devote,
Что написал то и имел введу.
|
В любом случае ты не совсем прав, опера не раз в 10 лет это делает... А часто как и все, именно обновляет. Переписывает редко, что впрочем и другие делают редко... Хром так вообще как выпустил v8 так и обновляет, новых переписанных версий нет.
|
|
|
|