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

谁能给​分析一下为什么一个这样写data.name一个这样写sport["name"]

谁能给分析一下为什么一个这样写data.name一个这样写sport["name"]

         $(function () {
                $("#btnShow").bind("click", function () {
                    var $this = $(this);
                    $.get("http://www.imooc.com/data/info_f.php",function(data){
                        $this.attr("disabled", "true");
                        $("ul").append("<li>我的名字叫:" + data.name + "</li>");
                        $("ul").append("<li>男朋友对我说:" + data.say+ "</li>");
                    }, "json");
                })
            });
            
            
            
            
            $(function () {
                $("#btnShow").bind("click", function () {
                    var $this = $(this);
                    $.getJSON("http://www.imooc.com/data/sport.json",function(da){
                        $this.attr("disabled", "true");
                        $.each(da, function (index, sport) {
                            if(index==0)
                            $("ul").append("<li>" + sport["name"] + "</li>");
                        });
    
                    });
                })
            });
           

正在回答

1 回答

第一ajax请求返回的数据是一个对象,而name,say是对象的属性或方法,所以可以使用“.”的方式调用属性获取属性值,

第二ajax请求返回的数据是一个集合/数组(其中的元素是一个个对象),而sport指的就是一个对象,与this等价,

sport["name"]也是获取属性值,这两种方式是等价的!

<script>
  var user = {name:"jetty",age:"12"};
  alert(user.name);
  alert(user["name"]);
  </script>

可以运行上面的代码,看到效果!

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

于梦中 提问者

非常感谢!
2016-01-11 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

谁能给​分析一下为什么一个这样写data.name一个这样写sport["name"]

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