Разница между функцией с именем и функцией без имени в Javascript
1.
function abc(){
alert("named function");
}
V/S
2.
function(){
alert("Un-Named function");
}
Просьба объяснить с точки зрения новичков.
Ответ 1
Они работают точно так же. Это только в том, как вы можете управлять ими, что они разные.
Итак, пример # 1 вы можете снова позвонить в любой момент с помощью abc();. Например, вам нужно либо передать его в качестве параметра в другую функцию, либо установить переменную для ее сохранения, например:
var someFunction = function() {
alert("Un-Named function");
}
Здесь, как передать его в другую функцию и запустить ее.
// define it
function iRunOtherFunctions(otherFunction) {
otherFunction.call(this);
}
// run it
iRunOtherFunctions(function() {
alert("I'm inside another function");
});
Как упоминает Дэвид ниже, вы можете сразу же вызвать его:
(function() {
alert("Called immediately");
})(); // note the () after the function.
Ответ 2
Оба могут использоваться для достижения того же, но основное отличие заключается в том, что анонимным функциям не требуется имя. Анонимные функции - это функции, которые динамически объявляются во время выполнения. Theyre называется анонимными функциями, потому что они arent задают имя так же, как и обычные функции.