for/in循环遍历对象键时不能用点操作符获取键对应的值吗

for/in循环遍历对象键时不能用点操作符获取键对应的值吗

http://img1.sycdn.imooc.com//climg/5b7a7a1700010c7605310164.jpg

为什么这么写是不对的,输出是3个undefined。

我看另外有同学也问过这个问题,我觉得老师你没有在那个问题里回答清楚。所以我自己发起一个提问请老师解答一下。

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

您好,从一个数组中获取数据是:数组名称[键值]。在for...in循环中person代表的是数组,key代表的是键值,但是从数组中获取数据的方式是相同的,所以是person[key]。祝学习愉快!

  • 慕数据4154996 提问者 #1
    var person = { firstname:"John", lastname:"Doe", id:5566 }; console.log(person.firstname); console.log(person['firstname']); 那你能告诉我为什么这里可以用点来获取键对应的值吗?
    2018-08-21 10:08:35
  • 好帮手慕查理 回复 提问者 慕数据4154996 #2
    您好,不能用.的原因是key是个变量,所以需要使用中括号。直接使用 .,会被看做对象的一个属性,然后person对象中没有key这个属性,所以一直是undefined。将person改为var person = { firstname:"John", lastname:"Doe", key:5566 };可发现会输出5566 。祝学习愉快!
    2018-08-21 14:31:47
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师