gpt4 book ai didi

javascript - 回调与从另一个函数(JS)调用一个函数不同吗?

转载 作者:行者123 更新时间:2023-12-03 06:34:37 24 4
gpt4 key购买 nike

我正在学习 JS,并试图理解回调。我发现了一个链接:How to explain callbacks in plain english? How are they different from calling one function from another function?在接受的答案中,使用回调的解决方案如下:

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

但是,当我尝试在不使用回调的情况下执行相同的操作时,如下所示,我得到了与上面相同的答案。

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

如果不用回调也可以完成同样的事情,为什么我们需要在上面的示例中使用回调。我知道我肯定错过了一些东西。但我似乎无法理解什么。

最佳答案

一般来说,没有严格需要使用回调。每当您使用回调时,您都可以直接调用该函数。也就是说……只要您确切知道该函数是什么,就可以在源代码中引用它!

如果您在学习时可以避免回调,那么对您来说可能会更容易。

也就是说,它们是 JS 不可或缺的一部分,并且随着您的进步而变得必要。 JS 开发人员经常使用它们与浏览器交互。需要回调的一个典型例子是 XHR 对象(如果您从未听说过它们,请不要担心,现在学习它们可能还为时过早)。

关于javascript - 回调与从另一个函数(JS)调用一个函数不同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38285151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com