Só um toque para n confundir. função tradicional no modo não estrito suporta várivaveis com o mesmo nome. Mas é uma coincidência do exemplo citado:

function addTwoNumbers(x, x){
  console.log(x+x);
}
addTwoNumbers(1,1); // => 2

Neste exemplo o segundo x dos argumentos sobreescreve o x do primeiro argumento. A chamada addTwoNumbers(1,1) o resultado é 2 pois se está somando o 2 argumento com ele próprio. Se a chamada for addTwoNumbers(1,5) o resultado será 10.

Utilizar o modo não estrito é uma armadilha! rsrrsrsrs