在Page()之外定义的变量作用域?为啥页面关闭了,变量值还值在
发布于 5 年前 作者 ming60 9403 次浏览 来自 问答

问题是:为啥页面关闭了,再次打开,还是上次更新后的值?难道页面关闭非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)
    }
})
2 回复

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

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

回到顶部