Каково значение наличия имени 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 ответ
Решение
Первое - это выражение анонимной функции. Второе - это выражение с именованной функцией. Одна из причин, по которой вы можете захотеть использовать выражение именованной функции, - это легко создавать рекурсивные функции (функции, которые сами себя вызывают). Примером является факториальная функция в этой ссылке.