Конспект JS-course

Функция - это значение

Источник: 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('Маша'); // и так по-прежнему работает: 'Привет, Маша'

Так как функция — это объект, то и копируется она «по ссылке».