【前提】第一次使用小程序数据更新正常,异常出现在刷新小程序后。
1、首先小程序 onLaunch 时读取缓存数据,并存储在 globalData 命名为 storage。
2、app.js 有公共方法(updatData)将 新元素 push(unshift) 到 storage。
3、按理说 元素应该如第一次使用时,正常将元素添加到 storage 的最后面(或者最前面)!!神奇的是,无论是 push 还是 unshift 方法都会改变原始 storage 数组中的第一个元素!!!!
断点调试无数次,编辑器和真机亦是如此。
深度怀疑这其中有个隐藏BUG!
排查的问题代码(位置:app.js ):
运行打印如下:【注意】添加的新元素对象内容是完全跟历史 storage数组中的元素是不同的,所以不会进入更新内容的条件,只会 push 新元素。但打印的结果却并不是这样

弄个代码片段吧
分享BUG啦~
BUG定位在app.js 的 updatData 函数内哦!感谢查阅
获取第一个元素nowData是指向storage[0]的,修改nowData也会改变stroage的值的
但是还是有一些疑问,onLaunch 函数在整个过程中只调用一次。然而却在后续操作中会影响到相关参数的赋值,这个能否赐教一下