1

私は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);
4

3 に答える 3

1
callback(arguments[i]*2); 

と同等です

var a = arguments[i]*2;
callback(a);

callback(1+2);と同じcallback(3);

于 2012-12-17T00:08:32.400 に答える
0

引数は、関数に渡される前に評価されます。

function foo( a ) {
    alert( a );
}

function bar( ) {
    return 1;
}

foo( bar( ) );

上記(デモ)は1を表示します。

于 2012-12-17T00:15:14.660 に答える
0

コールバックには、その式の結果が渡されます。

于 2012-12-17T00:05:53.527 に答える