Совпадение имени функции и переменной в JavaScript

Из описанного выше следует, что существование переменной и функции с одинаковым именем легко может привести к проблеме.

В следующем примере функция func будет затерта и вместо нее станет строка 'string':

function func() { return '!'; } func = 'string'; // затрем переменную с функцией строкой func(); // получим ошибку, т.к. func - не функция

Чтобы такого не происходило, следует придерживаться правила, общего для всех языков программирования: функции должны быть глаголами, а переменные - существительными.

enru