gpt4 book ai didi

javascript - attr() 的回调函数

转载 作者:行者123 更新时间:2023-11-30 16:58:35 25 4
gpt4 key购买 nike

据我理解,callback是在父方法执行完后执行的函数。但是下面代码中的方法 attr() 似乎并没有首先执行,因为它应该是它的名称“回调”。你能帮我理解这段代码吗?

   $("button").click(function(){
$("#w3s").attr("href", function(i, origValue){
return origValue + "/jquery";
});
});

似乎“function(i, origValue)”先于“attr()”执行。

最佳答案

“回调”不一定在它传入的方法之后执行。它会在被调用方法想要执行时执行。

在这种情况下,.attr() 的实现在它运行时调用回调。它遍历 jQuery 对象的元素并为每个元素调用一次回调。对回调的最后一次调用将在对 .attr() 的调用返回之前完成。

在原始调用方法完成后调用回调的概念可能源于这样一个事实,即回调提供了一种处理异步情况的方法。但是,这与回调的概念没有任何关系;相反,它是一种利用回调在语言中可用这一事实的方法。

在这种情况下,既然没有异步有趣的业务在进行,为什么 API 会涉及回调? .attr() 中回调的要点是提供一种在每个元素的基础上做出额外决定或进行额外计算的方法。使用回调,您自己的代码(作为回调传递的函数)可以检查每个原始属性值并按照您的意愿对其进行解释。代码可以根据您自己的标准决定在更新其他元素的同时保留一些元素。您仍然可以利用 jQuery 代码为您执行迭代,您可以只关注检查和更新属性值的逻辑。

关于javascript - attr() 的回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29260963/

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