对象对比问题

对象对比问题

问什么案例中讲到这样子newXm[k] = xm[k];就可以将属性和值都赋值过去呢?不是很明白,在我的理解里k是对应的属性,xm[k]对应的是值。实际打印出来也是这样子的,但是为什么在for in中就会将属性和值都赋值过去,看了老师之前回答其他同学的也没有详细说明为什么会这样。能够详细解释下呢

var newXm = {}

    for (var k in xm) {

      newXm[k] = xm[k];

      console.log(xm[k]);

    }

    console.log(newXm);


正在回答 回答被采纳积分+1

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

2回答
好帮手慕糖 2020-04-01 09:51:14

同学你好,可以看下第一条回复。

 xm[k] 打印出来的时候只有值。

但是k是对应的属性,newXm[k] 的时候,相当于给mewXm这个对象添加了k这个属性了。

祝学习愉快~

好帮手慕糖 2020-03-31 18:56:31

同学你好,关于你的问题,回答如下:

1、是的,k是对应的属性,所以newXm[k] 的时候,相当于给mewXm这个对象,声明了k这个属性了。

2、等号是赋值,xm[k]对应的是属性值。所以将这个值赋值给了mewXm下的k对应这个属性newXm[k] 。

3、所以属性与属性值都赋值过去了。

如果我的回答帮助了你,欢迎采纳,祝学习愉快~

  • 提问者 艾丶 #1
    那为什么 xm[k] 打印出来的时候只有值
    2020-03-31 19:51:11
  • 提问者 艾丶 #2
    赋值的时候应该是是赋这个值,但是为什么属性也会一起添加到新对象里
    2020-03-31 19:52:00
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

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

在线咨询

领取优惠

免费试听

领取大纲

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