javascriptの速度を上げる方法についての記事を読みました。ループ速度を向上させる可能性のあるコードをコピーしてみます。
var chunk = function (array, process, context) {
setTimeout(function(){
var item = array.shift();
console.log('item', item);//this could show correctly
process.call(item, context);
if (array.length > 0){
setTimeout(arguments.callee, 100);
}
}, 100);
}
次に、パラメーターを渡そうとしますが、パラメーターの使用方法がわかりません。実行したのcontext
は次のとおりです。
var dosomething1 = function (item) {
console.log('this is begin ' + item)
}
var dosomething2 = function (item) {
console.log('this is end ' + item);
}
var process = function (item) {
console.log(item); //this show undefined
dosomething1(item);
dosomething2(item);
}
var temp = ["a", "b", "c", "d"];
chunk(temp, process);
問題はプロセス関数、item
ログundefined
で始まり、アイテムはでしか正しく表示できませんでしたchunk
。
では、どうすればこの問題を解決できますか?メソッドに関連していると思いprocess.call
ますか?コンテキストパラメータに関連していますか?
ここでデモを見ることができます