function getNamedArgs(args, opt_start) { opt_start = opt_start ? opt_start : 0; var obj = {}; for (var i = opt_start, len = args.length; i < len; i += 2) { obj[args[i]] = args[i+1]; } return obj; } function namedArgsFunc(x) { var args = getNamedArgs(arguments, 1); console.log('x ->', x); console.log('args ->', args); } > namedArgsFunc('x_variable', 'a', 1, 'b', 2) x -> x_variable args -> Object {a: 1, b: 2}