JQuery как передать аргументы функции?

Доброго всем дня.
Подскажите знающие люди, как можно передать несколько аргументов (не известное кол-во) и один установленный аргумент.
Например, у ссылки:
<a href="#" onclick="heshLan('onfunc', 17, 20, 86, 1, 13)">GO</a>

Где 'onfunc' - это всегда передается, то есть его нужно принять (мб и 'twofunc'), где 17, 20, 86, 1, 13 - это не всегда так, т.е. мб и 3 числа и 7, и 10. и 20.
Тем самым JQuery:
function heshLan(w, {числа}) {
if(w == 'onfunc') {
/*берем эти числа для одной задачи ранее делал arguments[i]*/
} else if(w == 'twofunc') {
/*берем эти числа для другой задачи*/
}
}

Думаю доходчиво все объяснил, заранее спасибо!

UPD: Спасибо большое за ваши ответы! Но я сделал проще использовал arguments[0] - т.к. необходимый мне параметр передавался первым, а далее уже циклично все остальные arguments.
  • Вопрос задан
  • 2222 просмотра
Решения вопроса 2
DaFive
@DaFive
function test(arg1) {
	console.log(arg1, arguments);
}

test(1, 2, 3, 5, 'test');

Пробежаться по arugments, начиная с индекса 1 и получить, все что надо.
Ответ написан
Комментировать
hahenty
@hahenty
('•')
Предлагаю слегка изменить функцию heshLan
function heshLan(w) {
  if( w in functionList ) {
    functionList[w].apply( this,  [].slice.call( arguments, 1 ) );
  }
}

и добавить список обработчиков куда-нибудь глобально (по области видимости)
var functionList = {
  'onefunc' : function( a, b, c, d ) {
    /*че-то одно*/
  },
  'twofunc' : function( a, b ) {
    /*че-то другое*/
  },
  'threefunc' : function( a, b, c, d, e, f, g ) {
    /*совсем че-то*/
  }
  /*и так далее*/
}

Здесь будет явное указание функций и их параметров по именам, выбирать по индексу в массиве аргументов не придется.

я бы так сделал
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы