私はJSを学んでおり、コールバックを理解しようとしていました。コールバックが別の関数(JS)からの呼び出しと異なりますか?
function processArray(arr, callback) {
var resultArr = new Array();
for(var i = arr.length-1; i >= 0; i--)
resultArr[i] = callback(arr[i]);
return resultArr;
}
var arr = [1, 2, 3, 4];
var arrReturned = processArray(arr, function(arg) {return arg * -1;});
alert(arrReturned);
を私は次のようにコールバックを使用せずに同じことをやってみましたしかし、私は上記と同じ答えを得た:次のようにコールバックを使用して解決策がある受け入れ答えでHow to explain callbacks in plain english? How are they different from calling one function from another function? :私はリンクに出くわしました。
function processArray2(arr) {
var resultArr = new Array();
for(var i = arr.length-1; i >= 0; i--)
resultArr[i] = negate(arr[i]);
return resultArr;
}
function negate(n) {
return n*-1;
}
var arr = [1, 2, 3, 4];
var arrReturned2 = processArray2(arr);
alert(arrReturned2);
同じことをコールバックなしで行うことができる場合、なぜ上記の例でコールバックを使用する必要があるのでしょうか。私は間違いなく何かを欠いていることを知っている。しかし、私は何を理解するように見えることはできません。
2番目の例では、否定は定義されていません。それは省略ですか? – wafflecat
Btw、コールバックは単なる通常の匿名関数です。それらについて特別なことは何もありません。 – ftor