Sobrecarga de métodos em Javascript

Eu uso o método de sobrecarga, como abaixo no meu código Javascript.

function somefunction()
{
    //1st function
}

function somefunction(a)
{
   //2nd function
}

function somefunction(a,b)
{
   //3rd function
}

somefunction(); // function call goes here

O que eu não entendo é se eu chamo osomefunction() javascript deve ligar para o1ª função, mas o problema é que o javascript realmente chama a terceira função. Por que é que? Como posso chamar a primeira e segunda função? Qual é a razão para isto? Existe uma maneira correta de implementar a sobrecarga de métodos em JavaScript? Qual é o padrão da indústria?

questionAnswers(9)

yourAnswerToTheQuestion