html52.com
我爱小程序-开发者交流社区

小程序的变量赋值机制是怎样的?

onLoad() {
    var that = this
    wx.cloud.database().collection('post').get({
      success(res){
        console.log('从数据库获取到帖子列表信息',res)


        // 格式化時間
        var list = res.data
        for(var i in list) {
          list[i].time = util.formatTime(new Date(list[i].time))
        }


        that.setData({
          postList: res.data
        })
      }
    })
  },


这段代码的逻辑是:

1 从数据库中取到帖子的数据

2 for循环去格式化每个帖子的时间

代码可以达到预期

我困惑的是,为什么修改变量list,会导致res.data里的值发生变化?



网友回复

跨商通:

随便写个测试脚本去验证一下呗。

let a = {c:{d:1}}
let b = a.c
b.d = 2
console.log(a)
拾忆:

百度了解下:js浅拷贝和深拷贝

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付