Как вызвать функцию без одного аргумента?
Засунуть ее в объект.function foo(obj) {
   // obj.a, obj.b, obj.c
}
foo({a: 10, c: 20});
в ES6 можно легчеfunction foo({a, b, c}) {
   // a, b, c
}
foo({a: 10, c: 20});
Если foo всегда принимает 3 или меньше аргументов, при этом соблюдается условие: -если аргументов 2, то это a и c
то вариант решения, не зависящий от типов переменных может быть таким:function foo(a, b, c) {
	if (arguments.length === 2) {
		c = b;
		b = undefined;
	}
	// ...
       console.log(a,b,c);
}
foo("Ivan", "Ivanov", "Ivanovich");
foo("Ivan", "Ivanovich");