Показать сообщение отдельно
Старый 25.04.2002, 21:51
john вне форума Посмотреть профиль Отправить личное сообщение для john Посетить домашнюю страницу john Найти все сообщения от john
  № 14  
john
МЕГАФЛЭШЕР

Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
Цитата:
к тому же эти строчки совсем не нужны (да они и не действуют на самом деле) - все равно в качестве имени поля подставится то, которое передано во внешнюю функцию...
А ты уверен?
какая внешняя функция,
если только обявлять параметр глобально как сдалал уважаемый SPV, то конечно будет видно, но если делать нормально, то функция (Array.sort) уже рутовая функция, и к локальным переменным первой фунции уже доступа не имеет.

Код:
Array.prototype.sortOnNum = function(param)
{
	var sortOn_function = function(a,b)
	{
		trace(param) 

		a = Number(a[param]);
		b = Number(b[param]);
		return (a<b)*-1||(a>b)*1||0;
	}
	
	this.sort(sortOn_function);
}

test = [{x:600, y:20}, {x:500, y:20}, {x:0, y:20}, {x:300, y:20}, {x:100, y:20}, {x:400, y:20}, {x:200, y:20}];
test.sortOnNum()
даже если так:


Код:
Array.prototype.sortOnNum = function(p )
{
	var param = p; 

	var sortOn_function = function(a,b)
	{
		trace(param) 
		a = Number(a[param]);
		b = Number(b[param]);
		return (a<b)*-1||(a>b)*1||0;
	}
	
	this.sort(sortOn_function);
}

test = [{x:600, y:20}, {x:500, y:20}, {x:0, y:20}, {x:300, y:20}, {x:100, y:20}, {x:400, y:20}, {x:200, y:20}];
test.sortOnNum()

test = [{x:600, y:20}, {x:500, y:20}, {x:0, y:20}, {x:300, y:20}, {x:100, y:20}, {x:400, y:20}, {x:200, y:20}];
test.sortOnNum()
Синтаксис вполне корректный и регулярно используемый(мной),
Нет все вполне логично, и параметры в теле функции можно хранить вполне.

к тому же когда мы инициализируем фунцию, она создается "с чистого листа" как бы новый объект, и экземляров функции можно создать несколько, этакий конструктор.....


кстати ты интересовался как то о использовании регистер класс без мувиков,
увидел я такое, и понял для чего, могу показать,


Последний раз редактировалось john; 25.04.2002 в 21:53.