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

时间:2015-08-30 22:54:35

标签: javascript anonymous-function

我有一个关于匿名函数如何在Javascript中工作的问题。 我看到这段漂亮的代码从html元素切换“禁用”[来自这篇文章link to stack overflow ]:

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

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

为什么?是因为.prop()还是以某种方式是匿名函数的属性?还有其他输入吗? 感谢

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

enter image description here

4 个答案:

答案 0 :(得分:1)

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

在JavaScript中创建API涉及针对涉及API客户端将使用的回调的所有情况做出类似的决策。一般来说,没有严格的规则,尽管某些情境可能会遵循惯例。一个例子是Node世界,其中回调传递两个参数,一个(可能为空)error以及与操作相关的数据是非常常见的。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

  

为什么?是因为.prop()还是这个属性   匿名函数?还有其他输入吗?

不,不是匿名函数的“属性”,匿名回调函数的参数。是的,可以为函数定义,传递,调用其他参数。

iindex是传递的选择器#el中元素的索引; vvalue是所选disabled元素的DOM属性的值#el disabled

答案 3 :(得分:0)

匿名函数作为参数传递给jquery Reader方法(prop)。 jquery将完成它的魔力并调用该函数将这些参数传递给它,以便您能够使用它们。