Когда нет понимания, сколько будет аргументов, какого они типа, или же ясно, что по типу их не разделить, то логично передавать объект.
funcOpen({
element: value1,
text: value2,
page: value3
});
Пропустив в объекте любой параметр, вы ничего не нарушите.