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

为什么自己写的方法会修改到后台返回来的数据

为什么自己写的方法会修改到后台返回来的数据

慕妹3146593 2019-03-21 18:19:37
 self.$ajax      .get("/api/http/shop/searchShop.jhtml", {        params: {          shopId: src[5]        },      })      .then(function(response) { 页面返回的东西        // console.log(response);    self.detailForm = response.data.result;    console.log(response.data.result.phone)    self.detailForm.phone  = Utils.iphoneSymbol(self.detailForm.phone);    console.log(response.data.result.phone)    }   }
查看完整描述

4 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

js有这样一个特性,如果你给某个变量a赋值b而且这个值是一个对象字面量比如{key:100}的时候,那么你对赋值后的变量a的key属性修改,那么b也会相应的变化,但是如果你再对a赋值c,那么b是不会变化的。复杂类型数据变量本质上就是指针,如果你修改了变量内部的属性,那么就是直接修改指针指向的内存中的值,所以另一个同样指向该地址的值就会发生变化,但是如果你重新赋值,那么变量a就重新指向另一个地址,仅此而已,注意下,基本类型不是指针


查看完整回答
反对 回复 2019-04-02
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

应该是深拷贝与浅拷贝的问题,再了解一下引用类型和基本类型的问题


查看完整回答
反对 回复 2019-04-02
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

指向的是同一数据源


查看完整回答
反对 回复 2019-04-02
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

self.detailForm并不是一个变量,所以它指向的数据是response.data.result。
self.detailForm.phone这里被格式化等于response.data.result.phone被格式化

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

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号