当您在函数的另一个参数中包含一个参数时,这意味着什么?
例如:
var c = function (a,b) {
a(b);
};
做什么a(b)
?
我们知道,形式的表达式是对带有单个参数f(x)
的函数的调用。此外,JS 允许我们将函数回调作为参数传递给其他函数。例如:f
x
function callback(x) { alert(x); }
c(callback, 5);
回调接受一个参数,而另一个参数5
作为参数传递给回调。反过来,它会提醒该号码。
在这种情况下c
,是一个可以传递两个对象的函数,a
并且b
. 从定义来看,它a
应该是一个函数对象和b
该函数的参数。
在定义中,您有一个称为a
传递对象参数的函数b
。
详细了解javascript 中的函数。
JavaScript 将函数视为第一类对象。这意味着您可以将函数作为参数传递。(有点像 C# 中的委托)
在您的情况下,a
是一个指向函数的参数,您在 c 表示的函数内执行它。(a
本身,b
用作它的第一个参数)。
这意味着它a
应该是一个函数,当它被传递给时,它会被执行c
,以及另一个参数。
//c accepts a function and an argument
c(function(theSentB){
//this passed function gets executed due to a(b);
//and 'hello' is passed to it
alert(theSentB);
},'hello')