Если язык программирования имеет функции первого класса, то значит они трактуются как объекты, то есть могут быть переданы другим функциям и их можно вернуть из функций. Так же их можно присваивать переменным.
/* функция не имеет имени и находится в правой части команды присваивания переменной.*/
var dog = function(num) {
for (var i = 0; i < num; i++) {
alert("Woof");
}
};
dog(3); //Эту функцию можно вызвать через переменную dog.