Разница в том, что в первом решении вы можете сделать это:
var square = function(n){
return n * n;
};
// some code
square = function(n) { return n*n*n; }
у вас есть ссылка на функцию. С другой стороны, функция объявлена статически.
Отказ от ответственности: нужен гуру JS, чтобы сказать мне, если я не прав =).