Javascript 脚本如何在函数(n)中找到n的值

Javascript 脚本如何在函数(n)中找到n的值,javascript,jquery,Javascript,Jquery,我不熟悉jQuery。我在网上看到一个程序,发现一个函数中n的值从0开始,等于该元素的个数。在下面的示例中,img元素出现一次,jQuery根据索引(从函数中的变量n获取)获取该元素,然后执行该操作。你能解释一下n的值是如何定义和递增的吗 <!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0

我不熟悉jQuery。我在网上看到一个程序,发现一个函数中n的值从0开始,等于该元素的个数。在下面的示例中,img元素出现一次,jQuery根据索引(从函数中的变量n获取)获取该元素,然后执行该操作。你能解释一下n的值是如何定义和递增的吗

    <!DOCTYPE html>
    <html>
    <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
    </script>
    <script>
    $(document).ready(function(){
      $("button").click(function(){
        $("img").attr("width",function(n,v){
          return v-50;
        });
      });
    });
    </script>
    </head>
    <body>

    <img src="img_pulpitrock.jpg" alt="Pulpit Rock" width="284" height="213">
    <br>
    <button>Decrease image width by 50px</button>

    </body>
    </html>

$(文档).ready(函数(){
$(“按钮”)。单击(函数(){
$(“img”).attr(“宽度”,函数(n,v){
返回v-50;
});
});
});

将图像宽度减少50像素
它使用jquery中定义的回调函数。函数签名是
函数(索引,属性)

返回要设置的值的函数。这是当前元素。 接收集合中元素的索引位置和旧 属性值作为参数

您的方法:

$("img").attr("width",function(n,v){
          return v-50;
});
假定无法工作,因为
v
(当前属性值)可能是
未定义的。在这种情况下,它将返回
NaN


请随意使用此

@Satpal这不是关于jQuery文档的问题,而是关于块参数的问题。答案在他使用的库的文档中。文档的链接是合适的。(当然,除非您想深入源代码进行解释)这是一个很好的例子,说明了为什么您应该始终使用描述性变量和参数名<代码>函数(索引,宽度)
当前属性值为“284”,当在
-50
旁边使用时,它将转换为一个数字。@KevinB我同意。但是属性也可能是
未定义的
,因此手动将
v
装箱到一个数字是有意义的。@KooiInc正如Kevin所指出的,它不需要解析值。该功能将宽度减少了50,感谢explanation@Anand:这只是因为您正在进行减法运算,并且当前属性值可以装箱为一个数字。如果您添加了一个值(
v+50
),将导致(在本例中)出现
28450
。在编程时,尤其是在JavaSeccript中,必须考虑到类似的事情。