我从javascript书中得到以下代码,回调似乎是将表达式作为参数传递。是这样的,还是我看错了?我不知道,尽管它有效,但那是可能的。
function multiplybytwo(a,b,c,callback) {
var i, ar =[];
for(i=0;i<3;i++)
{
ar[i] = callback(arguments[i]*2);
}
return ar;
}
function addone(a) {
return a+1;
}
myarr =multiplybytwo(1,2,3,addone);
答案 0 :(得分:1)
callback(arguments[i]*2);
相当于
var a = arguments[i]*2;
callback(a);
与callback(1+2);
到callback(3);
答案 1 :(得分:0)
回调传递了该表达式的结果。
答案 2 :(得分:0)
在将参数传递给函数之前对其进行求值。
function foo( a ) {
alert( a );
}
function bar( ) {
return 1;
}
foo( bar( ) );
以上(demo)将显示1。