JavaScript ベンチマーク関数などで実行する関数と引数を渡して動作させたい
こんにちは。
一般的なJavaScriptのWebサイトでは、この手のテクニックがみつからず、検索しようにも検索ワードも特定できないので、ご質問します。
ベンチマーク関数などで、以下のように動かしたいのですが、記述方法がわかりません。
疑似コードです
var benchMark = function (loopCount, f, args1, args2, args3 …) {
for … loopCount {
f(args1, args2, args3…)
}
}
ベンチマーク関数の呼び出し時に、関数fとその引数をわたして、
ベンチマーク関数の内部で、関数fに引数を渡して実行させたいのです。
fに対しては、任意個数の引数をわたしたいです。
もちろん、引数なしのものでしたら簡単でした。
サンプルコードをのせておきます。HTMLです。
やり方をご存知な方おられましたら、教えてください。
あるいは、無理、という情報や、参考になるページを教えていただくだけでも
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title></title>
<script>
var benchMark = function (loopCount, f, args) {
var
i, max,
startTime, endTime;
startTime = new Date();
for (var i = 1, max = loopCount - 1; i <= max; i+=1) {
f();
}
endTime = new Date();
return endTime - startTime;
};
var test1 = function () {
return '';
};
console.log(benchMark(1000000, test1));
console.log('test finish');
</script>
</head>
<body>
</body>
</html>