Jak przeciążać funkcje w javascript?

Klasyczne (nie-js) podejście do przeciążenia:

function myFunc(){
 //code
}

function myFunc(overloaded){
 //other code
}

Javascript nie pozwoli na zdefiniowanie więcej niż jednej funkcji o tej samej nazwie. W ten sposób pojawiają się takie rzeczy:

function myFunc(options){
 if(options["overloaded"]){
  //code
 }
}

Czy istnieje lepsze obejście przeciążania funkcji w javascript niż przekazywanie obiektu z przeciążeniami?

Przekazywanie przeciążeń może szybko spowodować, że funkcja stanie się zbyt gadatliwa, ponieważ każde możliwe przeciążenie będzie wtedy wymagało instrukcji warunkowej. Używanie funkcji do wykonania//code wewnątrz tych instrukcji warunkowych mogą wystąpić trudne sytuacje z zakresami.

questionAnswers(13)

yourAnswerToTheQuestion