Coincidência de nome de função e variável em JavaScript
Do exposto acima, segue-se que a existência de uma variável e de uma função com o mesmo nome pode facilmente levar a um problema.
No exemplo a seguir, a função func será
sobrescrita e, em seu lugar, ficará a string 'string':
function func() {
return '!';
}
func = 'string'; // sobrescrevemos a variável com a função por uma string
func(); // obteremos um erro, pois func não é uma função
Para evitar que isso aconteça, deve-se seguir uma regra comum a todas as linguagens de programação: funções devem ser verbos e variáveis - substantivos.