Предлагаю слегка изменить функцию 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 ) {
/*совсем че-то*/
}
/*и так далее*/
}
Здесь будет явное указание функций и их параметров по именам, выбирать по индексу в массиве аргументов не придется.
я бы так сделал