Источник: http://learn.javascript.ru/function-is-value
Объявление создает функцию и записывает ссылку на неё в переменную.
Функция — не просто значение, это объект.
function sayHi(){};
sayHi.test = 5;
alert(sayHi.test); // 5
Функцию можно скопировать в другую переменную.
function sayHi(person) {
alert('Привет, ' + person);
}
var func = sayHi;
func('Вася'); // выведет 'Привет, Вася'
sayHi('Маша'); // и так по-прежнему работает: 'Привет, Маша'
Так как функция — это объект, то и копируется она «по ссылке».