为了账号安全,请及时绑定邮箱和手机立即绑定

关于参数传参的问题,为什么直接function(data,)是指前面的链接地址的数据。如果把data换成a即function(a,)同样能运行,又是为什么,此时a也能指前面的链接地址数据?

<script type="text/javascript">

            $(function () {

                $("#btnShow").bind("click", function () {

                    var $this = $(this);

                    $.getJSON("http://www.imooc.com/data/sport.json",function(data){

                        $this.attr("disabled", "true");

                        $.each(data, function (index, sport) {

                            if(index==3)

                            $("ul").append("<li>" + sport["name"] + "</li>");

                        });

    

                    });

                })

            });

        </script>



正在回答

2 回答

index就是索引值,和数据类型没关系。

0 回复 有任何疑惑可以回复我~

因为定义方法时,方法里的参数名可以随便写,至于这个是什么值不在于定义的时候,而是在你调用的时候,调用的时候这里传什么值,上面定义时写的那个就是什么值。

0 回复 有任何疑惑可以回复我~
#1

初识前端 提问者

谢谢,还是有个问题,按照你的说法,比如上面的index==3,就认为着这个index是数值型的数据是吗,表示0,1,2,3.等,那函数的识别的机制是什么,一个函数怎么会理解index==3就是调取数组中的第4个呢
2015-11-27 回复 有任何疑惑可以回复我~
#2

李晓健 回复 初识前端 提问者

因为取数组中的值就是按照数组的下标来取的,而数组的下标就是从0开始的自然数。所以下标是3肯定就是数组中的第4个元素。
2015-11-27 回复 有任何疑惑可以回复我~
#3

zoe0773 回复 初识前端 提问者

这个问题太容易误导人了,each(function(index){。。。})这个方法就是遍历元素集合的,通过回调函数返回便利元素的index,元素的下标就是从0开始的。 这个问题的始末应该是each()方法,先明白这个方法,我觉得不应该问index是数值类型吗这种问题,并不是说楼楼不该问,是觉得问这样的问题容易让同样是初学者看到后产生疑问并钻牛角尖一样去钻到是什么类型里出不来。
2015-11-30 回复 有任何疑惑可以回复我~
#4

初识前端 提问者 回复 zoe0773

$.each(data, function (a, sport) { if(a==3) $("ul").append("<li>" + sport["name"] + "</li>"); }); 我用这种他也会识别出来第四个元素吗
2015-12-03 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消
jQuery基础课程
  • 参与学习       154768    人
  • 解答问题       7184    个

加入课程学习,有效提高前端开发速度

进入课程

关于参数传参的问题,为什么直接function(data,)是指前面的链接地址的数据。如果把data换成a即function(a,)同样能运行,又是为什么,此时a也能指前面的链接地址数据?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信