我并不完全清楚这是什么意思。我想我的问题是,如果有人能为我清除这一点。到目前为止我从回调中得到的结论:
function Hello(Callback,a,b){
Callback(a,b);
}
function Hi(a,b){
alert("Hi " + a + b);
}
Hello(Hi,5,6);
答案 0 :(得分:1)
在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);
传入的函数是Anonymous,它没有命名(JavaScript引擎会给它一个唯一的名称,但它看起来不太漂亮)。