将表达式传递给javascript函数

时间:2012-12-17 00:03:00

标签: javascript

我从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);

3 个答案:

答案 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。