Совпадение имени функции и переменной в JavaScript
Из описанного выше следует, что существование переменной и функции с одинаковым именем легко может привести к проблеме.
В следующем примере функция func будет
затерта и вместо нее станет строка 'string':
function func() {
return '!';
}
func = 'string'; // затрем переменную с функцией строкой
func(); // получим ошибку, т.к. func - не функция
Чтобы такого не происходило, следует придерживаться правила, общего для всех языков программирования: функции должны быть глаголами, а переменные - существительными.