收藏
回答

在Page()之外定义的变量作用域?为啥页面关闭了,变量值还值在

问题是:为啥页面关闭了,再次打开,还是上次更新后的值?难道页面关闭非Page()里面设置的变量,不能自动销毁是吗?


比如一个页面test.js代码如下

var _M={name:'初始值'}
Page({
    data: {
 
    },
    onLoad: function (options) {
        console.log('onLoad-更新前',_M);//这里当前页面关闭后,再次进入页面后,怎么会是最后面设置的值,难道页关闭后,当前页的变量不会自动销毁?谁能解释下?
        _M.name='更新了'
        console.log('onLoad-更新后',_M)
    },
 
    onUnload: function () {
        console.log('onUnload',_M)
    }
})


最后一次编辑于  2019-01-15
回答关注问题邀请回答
收藏

2 个回答

  • 卢霄霄
    卢霄霄
    2019-01-15

    page外的变量是在整个小程序初始化的时候就有了,不随页面销毁和初始化而改变的

    2019-01-15
    有用
    回复 3
    • 鹏波
      鹏波
      2019-09-04
      有文档说明么?
      2019-09-04
      回复
    • 卢霄霄
      卢霄霄
      2019-09-04回复鹏波
      没有,可以好好想想小程序的运行机制,然后做下实验验证一下。。实在有心,可以去看看源码
      2019-09-04
      回复
    • 卢霄霄
      卢霄霄
      2019-09-04回复鹏波
      直接在Page()外面打个debugger就行了
      2019-09-04
      2
      回复
  • Bn
    Bn
    2019-01-15

    也不是整个应用都能直接访问,具体你可以看下文档的开发指南

    2019-01-15
    有用
    回复
登录 后发表内容