1
function abc(){
alert("named function");
}
V / S
2
function(){
alert("Un-Named function");
}
请从初学者的角度来解释。
答案 0 :(得分:21)
他们的工作方式完全相同。只有你能够如何运行它们才是不同的。
示例#1您可以随时使用abc();
再次呼叫。例如2,你要么必须将它作为参数传递给另一个函数,要么设置一个变量来存储它,如下所示:
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.
答案 1 :(得分:2)
两者都可以用来实现相同但主要的区别是匿名函数不需要名称。匿名函数是在运行时动态声明的函数。它们被称为匿名函数,因为它们没有像普通函数那样被赋予名称。
请参阅此link