javascript 中匿名函数的索引和值输入说明

Explanation for index and value inputs to anonymous function in javascript

我有一个关于匿名函数在 Javascript 中如何工作的问题。 我看到这段漂亮的代码可以从 html 元素切换 "disabled" [来自这个 post link to stack overflow ]:

$('#el').prop('disabled', function(i, v) { return !v; });

匿名函数i和v的输入是索引和值。

这是为什么?是因为 .prop() 还是匿名函数的 属性?是否有其他输入可用? 谢谢

解决方案:我的问题的答案在 .prop() api.jquery.com/prop/:

的文档中

这就是jQuery .prop()方法的实现方式。如果它发现第二个参数是一个函数,它会为每个匹配的元素调用你的函数,传递元素索引和属性值。

在 JavaScript 中发明一个 API 涉及为涉及 API 客户将使用的回调的所有情况做出类似的决定。通常没有硬性规定,但在某些情况下有可能应尽可能遵循的约定。一个例子是 Node 世界,回调传递两个参数是很常见的,一个(可能为空)error 和与操作相关的数据。

这就是 prop() 函数在 jQuery 中的定义方式。或者更准确地说,prop() 的回调是如何定义的。

匿名函数作为参数传递给 jquery prop 方法 (callback)。 jquery 将在背后发挥其魔力,并调用该函数将这些参数传递给它,以便您能够使用它们。

Why is that? Is it because of .prop() or is this somehow a property of the anonymous functions? Are there other inputs available?

不是,不是"properties"的匿名函数,匿名回调函数的参数。是的,可以为函数定义、传递、调用其他参数。

iindex 是来自选择器 #el 的元素索引已通过; v : value 是所选 DOM 元素的 disabled 属性 的值 #el disabled