页面变量在获取globalData变量后,两个变量为什么是关联的?修改页面变量,全局变量也自动修改了
发布于 7 年前 作者 yanyong 8855 次浏览 来自 问答

app.js代码:

  globalData: {
    userInfo: wx.getStorageSync('userInfo'),
    apm_time:[],
  }

页面index1.js的代码

var app = getApp()
const db = wx.cloud.database();
const util = require("../../utils/util.js");
const _ = db.command

Page({

  data: {
    my_apm_time : [],
  },

  onLoadfunction (options{
    this.setData({
      my_apm_time : app.globalData.apm_time,
    })
    var list_temp = this.data.my_apm_time
    console.log("全局变量====",app.globalData.apm_time)
    console.log("页面变量---",this.data.my_apm_time)
    console.log("临时变量..",list_temp)
    list_temp.splice(2,2// 对临时变量的列表进行删减操作
    console.log("全局变量(删减后)====",app.globalData.apm_time)
    console.log("页面变量(删减后)---",this.data.my_apm_time)
    console.log("临时变量(删减后)..",list_temp)
  },
 全局变量的赋值在其它页面中,【apm_time】值为:
["请选择预约时间", "7月13日 星期一上午", "7月13日 星期一下午", "7月14日 星期二上午", "7月14日 星期二下午", "7月15日 星期三上午", "7月15日 星期三下午"]

Console的信息:

VM2903:1  根据 sitemap 的规则[0],当前页面 [pages/index1/index1] 将被索引
console.warn @ VM2903:1
(anonymous) @ VM2938:6
(anonymous) @ VM2938:13
index1.js? [sm]:17 全局变量==== (7) ["请选择预约时间", "7月13日 星期一上午", "7月13日 星期一下午", "7月14日 星期二上午", "7月14日 星期二下午", "7月15日 星期三上午", "7月15日 星期三下午"]
index1.js? [sm]:18 页面变量--- (7) ["请选择预约时间", "7月13日 星期一上午", "7月13日 星期一下午", "7月14日 星期二上午", "7月14日 星期二下午", "7月15日 星期三上午", "7月15日 星期三下午"]
index1.js? [sm]:19 临时变量.. (7) ["请选择预约时间", "7月13日 星期一上午", "7月13日 星期一下午", "7月14日 星期二上午", "7月14日 星期二下午", "7月15日 星期三上午", "7月15日 星期三下午"]
index1.js? [sm]:21 全局变量(删减后)==== (5) ["请选择预约时间", "7月13日 星期一上午", "7月14日 星期二下午", "7月15日 星期三上午", "7月15日 星期三下午"]
index1.js? [sm]:22 页面变量(删减后)--- (5) ["请选择预约时间", "7月13日 星期一上午", "7月14日 星期二下午", "7月15日 星期三上午", "7月15日 星期三下午"]
index1.js? [sm]:23 临时变量(删减后).. (5) ["请选择预约时间", "7月13日 星期一上午", "7月14日 星期二下午", "7月15日 星期三上午", "7月15日 星期三下午"]

为什么,只 修改了临时变量【list_temp】,但全局变量和页面变量都被改了!!!

回到顶部