Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 26.01.2012, 19:04
Аватар для inst
Аспирант
Отправить личное сообщение для inst Посмотреть профиль Найти все сообщения от inst
 
Регистрация: 12.01.2012
Сообщений: 44

Сообщение от Livaanderiamarum Посмотреть сообщение
Собираешься ли ты менять фильтры на ходу несколько раз, собираешься ли ты менять фильтры у отдельных листов? есть ли фильтры по умолчанию?

_
вот если бы мне нужен был массив который бы принимал только числа, я бы сделал не так тупо как ты я бы сделал так:
Я собираюсь сделать этот List частью API, а от него унаследовать несколько других объектов, которые по сути нужны просто для отслеживания изменений. Менять фильтры не буду, просто определю нужные в прототипах унаследованных объектов. По умолчанию ничего не надо, вроде бы.

А как?
Ответить с цитированием
  #22 (permalink)  
Старый 26.01.2012, 19:12
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

(function(name) {
	var prototype = {}
	prototype.__proto__ = Array.prototype;
	with (prototype) {
		// ниже перекрываешь методы добавляешь фильтры и.т.п.












        // раз перекрыли -------------------------------------------------------
		push = function(arg) {
			if(typeof agr == 'string'){
				//эта строчка использует метод массива
				Array.prototype.push.apply(this, arguments)
			}
		};








        // два перекрыли -------------------------------------------------------
		blablabla = function(arg) {
		    alert(arg)
		};














	
	}
	window[name] = function() {
		var list = []
		list.__proto__ = prototype
		return list
	}
})('List')



новые листы создаются без new чтобы удобнее было, просто
var list = List()

Последний раз редактировалось Livaanderiamarum, 26.01.2012 в 19:18.
Ответить с цитированием
  #23 (permalink)  
Старый 26.01.2012, 19:33
Аватар для inst
Аспирант
Отправить личное сообщение для inst Посмотреть профиль Найти все сообщения от inst
 
Регистрация: 12.01.2012
Сообщений: 44

В общем, суть та же, только для более узкого круга задач

Я разобрался, ошибка была в том, что я в proxyFn вместо
result = Array.prototype[fn].apply(obj, args);
вызывал метод не из прототипа.

Спасибо за помощь
Ответить с цитированием
  #24 (permalink)  
Старый 26.01.2012, 19:54
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от inst
Спасибо за помощь
Не вопрос бро))
Ответить с цитированием
  #25 (permalink)  
Старый 26.01.2012, 20:15
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

inst,
Обратите внимание на splice, я не помню как именно, но метод работал не корректно, а может и не только он, то ли элементы не удалялись, то ли индексы не менялись, тоже как-то давно очень захотелось подобную штуку сделать, потом понял ,что затея вобщем-то, просто ради затеи...
__________________
readOnly
Ответить с цитированием
  #26 (permalink)  
Старый 26.01.2012, 20:47
Аватар для DreamTheater
Профессор
Отправить личное сообщение для DreamTheater Посмотреть профиль Найти все сообщения от DreamTheater
 
Регистрация: 15.02.2011
Сообщений: 471

function List() {
    alert('Hello, I am List constructor!');
};

List.prototype = Object.create(Array.prototype, {
    move: {
        value: function () {
             alert('I am custom method "move"!');
        }
    }
});

new List().move();

Последний раз редактировалось DreamTheater, 26.01.2012 в 20:50.
Ответить с цитированием
  #27 (permalink)  
Старый 26.01.2012, 21:46
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

>= IE9 и Опера 11.60, но если для себя то уже можно ж
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать сохранение списков select? sega_z Элементы интерфейса 8 15.05.2011 18:01
PHP to JS Array Pumych Events/DOM/Window 8 10.02.2011 22:30
Ошибка function is not defined KamaZz Общие вопросы Javascript 19 28.09.2010 14:38
Метод remove() в стандартном Array voyager ExtJS 11 08.09.2010 16:04
Многомерный массив в json Л_Денис Общие вопросы Javascript 1 21.04.2010 21:43