Показать сообщение отдельно
  #10 (permalink)  
Старый 25.08.2008, 16:07
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от ZoNT Посмотреть сообщение
смотри формат комманды call
Работает же везде без остальных параметров... а в IE ни с параметрами, ни без них, ни с «apply» — вообще никак

Сообщение от ZoNT Посмотреть сообщение
А оно надо? Помоему перебор - тоже неплохо...
«Перебор» — пользовательская функции, мне кажется «slice» будет быстрее А вообще было бы удобно реализовать такую возможность, чтобы не писать отдельную функцию для перевода «DOMNodeList» в «Array», когда требуются методы работы с «Array», например «push». :cool:

p.s. в «jQuery» есть метод «makeArray» (v.1.2.6, line 1129):
makeArray: function( array ) {
		var ret = [];

		if( array != null ){
			var i = array.length;
			//the window, strings and functions also have 'length'
			if( i == null || array.split || array.setInterval || array.call )
				ret[0] = array;
			else
				while( i )
					ret[--i] = array[i];
		}

		return ret;
	},

Реализовано перебором, правда каким-то извращенным... Интересно, они не догадались про «slice» или не используют его, потому что не возможно заставить работать в IE? :rolleyes:

p.p.s. не зря, наверное, придумали «makeArray» в «jQuery», значит нужная функция.

Последний раз редактировалось Octane, 25.08.2008 в 16:16.
Ответить с цитированием