JavaScript: function declaration VS function expression