ну, у двух вариантов есть плюсы и минусы, как сказано в дубликат сообщения. Если вы используете:
var functionOne = function() { … }
function functionTwo() { … }
тогда functionOne
не будет существовать в блоке до его определения, и определяется во время выполнения. В то время как другой вариант, functionTwo
определяется во время разбора и может быть назван в любом месте программы. Другая вещь, которая меняется, - это поведение внутри функции.
Так в основном, ваш вопрос:
- как я хочу размаху свою функцию?
- если объем не имеет значения, предпочитаю ли я время выполнения или время синтаксического разбора?
Чтобы получить полные ответы на эти вопросы, я действительно советую вам прочитать и перечитать короткую книгу из Crockford "Javascript the good parts", и это выглядит как @ wumm-х suggested article довольно актуальна как хорошо.
@elclanrs, это НЕ !!!!!!!!! –
Это может быть интересно: http://javascriptweblog.wordpress.com/2010/07/06/function-declarations-vs-function-expressions/ – idmean
Я не думаю, что это оправдывает дубликат, поэтому я проголосовал за закрытие , Разница заключается в подъеме, как указано в другом ответе, и что анонимные функции не имеют имени (duh). – elclanrs