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

请教下面这段代码具体如何执行

请教下面这段代码具体如何执行

慕无忌1623718 2019-03-02 18:00:52
相关代码var des = 1;  var obj = {b: 2};  for(var key in obj) {          console.log(des, key); // 1, "b"     des[key] = obj[key];   // ???     console.log(des[key]); // undefined}问题des[key] = obj[key] 这句如何执行? 代码并没有报错, 但des[key]打印结果是undefined代码来源function deepCopy(des, src) {    if(!src || typeof src !== 'object') {        return des;     }    for (var key in src) {        let obj = src[key];        if(obj && typeof obj === 'object') {             des[key] = des[key] || {};             deepCopy(des[key], obj);         } else {             des[key] = src[key];         }     }    return des; }console.log(deepCopy({a: 1}, {a: {b: 2}}));  // {a: 1}console.log(deepCopy({a: {}}, {a: {b: 2}})); // {a: {b: 2}}
查看完整描述

2 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

string是原始数据类型, js原始数据类型是不可被改变的,相对的,引用类型数据是可以被改变,如object

查看完整回答
反对 回复 2019-03-02
  • 2 回答
  • 0 关注
  • 477 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信