Есть ли разница между заданием функции через var или без?
//Такие функции браузер считывает перед выполнение скрипта
function square(num) {
}

//Такие - только когда встречает первое использование 
var square = function(num) {
}
Вот как это проверить:alert(square(5)) //ок, функция была загружена перед выполнением скрипта
function square(num) {
   return num*num;
}

alert(sum(5)) //error - хз, че за функция, не встречал еще такой
var sum = function(num) {
   return num*num;
}

UPD: обидно, когда ответ оформляешь красиво, а уже ответили ((
UPD2: Ахах) Спасибо!)
Создание функции через присваивание переменной называется "Function Expression", второй способ "Function Declaration", можно выделить пожалуй одно основное отличие.
Функция, объявленная как Function Declaration, создается интерпретатором до выполнения кода. То есть если у вас Function Declaration и вы вызываете функцию до того как она объявляется в коде, всё будет замечательно работать. Если у вас Function Expression, а вы пытаетесь её вызывать до того, как выполнилось присваивание, получите ошибку. Подробнее можно прочитать тут