Javascript 使用匿名函数和存储在变量中的函数作为回调参数

Javascript 使用匿名函数和存储在变量中的函数作为回调参数,javascript,callback,Javascript,Callback,我不完全清楚这是什么意思。我想我的问题是有没有人能帮我澄清一下。到目前为止,我从回访中了解到: function Hello(Callback,a,b){ Callback(a,b); } function Hi(a,b){ alert("Hi " + a + b); } Hello(Hi,5,6); 在JavaScript中,函数就像字符串和数字一样是对象,因为这一特性,您可以将函数作为变量传递给其他函数 function Hello(Callback,a,b){ Callback(a,

我不完全清楚这是什么意思。我想我的问题是有没有人能帮我澄清一下。到目前为止,我从回访中了解到:

function Hello(Callback,a,b){
Callback(a,b);
}

function Hi(a,b){
alert("Hi " + a + b);
}

Hello(Hi,5,6);

在JavaScript中,函数就像字符串和数字一样是对象,因为这一特性,您可以将函数作为变量传递给其他函数

function Hello(Callback,a,b){
Callback(a,b);
}

function Hi(a,b){
alert("Hi " + a + b);
}

Hello(Hi,5,6);
在代码段中,您声明了一个名为Hello的函数,该函数包含三个参数。然后,Hello函数将“作为函数调用Callback”,实际执行给定最后一行代码传入的Hi函数

您必须小心使用这样的函数,尤其是“this”。由于“this”指的是自包含对象,“this”实际上指的是特定上下文中的函数

然而,匿名函数并不是这样的。示例的修改版本:

function Hello(Callback, a, b){
   Callback(a,b);
}
Hello(function(a,b){
  alert("Hi " + a + b);
}, 5, 6);

传入的函数是匿名的,没有命名(JavaScript引擎会给它一个唯一的名称,但它看起来并不漂亮)。

提示:除了构造函数以外,所有函数都使用小写名称。您在哪里找到此语句的?你知道什么是“匿名函数”吗?@Bergi如果我说的没错,匿名函数就是一个没有名字的函数。你在代码中遇到过吗?你觉得这在这里怎么用?在你找到这条语句的地方有这样的例子吗(请链接!)?
this
几乎不会提及函数本身,不。“既然函数是对象,你可以按字面意思声明它们”-哈,什么?我想所有函数都是按字面意思声明的。。。除非你做一些奇怪的事情,比如“new Function()”,我认为你实际上可以这样做……从技术上讲,只声明函数声明,你的意思是函数表达式可以代替代码中的任意表达式。我从未听说过/使用过“函数文字”这个术语,尽管它