Каково значение наличия имени fn name по обе стороны от оператора присваивания (объекта fn)?

Пример:

(function () {
    object.module('something').objectMethod('someController', [
        '$param1', 'param2', function (paramY, paramE) {
            $param1.someScopedVariable = function() {
                laa-dee-dah();
            }

            // VS.

            $param1.someOtherScopedVariable = function someOtherScopedVariable {

            }
        }
    ]);
})());

Какая разница?

1 ответ

Решение

Первое - это выражение анонимной функции. Второе - это выражение с именованной функцией. Одна из причин, по которой вы можете захотеть использовать выражение именованной функции, - это легко создавать рекурсивные функции (функции, которые сами себя вызывают). Примером является факториальная функция в этой ссылке.

Другие вопросы по тегам