1.前言

1.1说明

变量分为两种,一种是局部变量,一种是全局变量。全局变量在小程序中又分为小程序的全局变量和页面中的全局变量。

1.2举例

1.2.1局部变量

在tests函数中定义的test是局域变量。

微信小程序page里如何使用globalData的值 微信小程序page上的变量_全局变量

1.2.2小程序的全局变量

在app.js中App的globalData中定义的变量是小程序的全局变量。

微信小程序page里如何使用globalData的值 微信小程序page上的变量_局部变量_02

1.2.3页面的全局变量

在某个页面的Page外定义一个变量是页面的全局变量。

微信小程序page里如何使用globalData的值 微信小程序page上的变量_生存周期_03

 

 

2.变量的作用域

2.1说明

局部变量只在定义的函数中有效。

小程序的全局变量是在整个小程序中都有效。

某个页面的全局变量只在某个页面中有效。

2.2举例

2.2.1局部变量

说明

在test函数中定义test,然后在retest函数中调用。

微信小程序page里如何使用globalData的值 微信小程序page上的变量_局部变量_04

 

 

结果

 在retest中调用tests中定义的test,程序会报错,表明test没有定义。

微信小程序page里如何使用globalData的值 微信小程序page上的变量_全局变量_05

 2.2.2小程序的全局变量

说明

在小程序中任意一个函数中使用app.globalData.test可以获取到test的值。

微信小程序page里如何使用globalData的值 微信小程序page上的变量_局部变量_02

微信小程序page里如何使用globalData的值 微信小程序page上的变量_局部变量_07

 

 结果

打印出小程序中全局变量0。

微信小程序page里如何使用globalData的值 微信小程序page上的变量_局部变量_08

 2.2.3某个页面的全局变量

说明

在某个一个页面中定义一个的全局变量,然后在retest函数中调用页面中的全局变量的值。

微信小程序page里如何使用globalData的值 微信小程序page上的变量_局部变量_09

微信小程序page里如何使用globalData的值 微信小程序page上的变量_生存周期_10

结果

打印出页面中全局变量的值2。

微信小程序page里如何使用globalData的值 微信小程序page上的变量_生存周期_11

在另外一个tests页面调用test页面全局变量中的test变量时,程序会报错,表明test变量没有定义,因为页面变量只在当前页面内有效。

微信小程序page里如何使用globalData的值 微信小程序page上的变量_局部变量_12

微信小程序page里如何使用globalData的值 微信小程序page上的变量_局部变量_13

 

 

3.变量的生存周期

3.1说明

局域变量的生存周期,当局部变量的函数被执行完,局部变量的生存周期也就结束了。

整个小程序的全局变量的生存周期,从进入小程序开始一直到退出小程序之间,全局变量的生存周期一直存在。

某个页面中的全局变量的生存周期,从小程序进入当前页面一直到退出当前页面,全局变量的生存周期一直存在。

备注:小程序被切换到后台之后到再切换到前台之前,小程序的全局变量和某页面的全局变量的生存周期一直存在。

4.变量何时会被哪些事件改变

4.1说明

局部变量只能在定义它的函数中改变它的值。

小程序的全局变量,在对其操作的事件中,都可以被改变。

页面的全局变量,在当前页面对其操作的事件中,都可以被改变。

4.2举例

4.2.1局部变量

说明

在test函数中定义test等于0,然后修改test的值。

微信小程序page里如何使用globalData的值 微信小程序page上的变量_全局变量_14

 

 

结果

test的值是4。

微信小程序page里如何使用globalData的值 微信小程序page上的变量_生存周期_15

4.2.2某个页面的全局变量

说明

定义一个页面的全局变量test,在retest函数中改变test的值。

 

 

微信小程序page里如何使用globalData的值 微信小程序page上的变量_全局变量_16

 

 

 

微信小程序page里如何使用globalData的值 微信小程序page上的变量_局部变量_17

结果

test的值被改变成5。

微信小程序page里如何使用globalData的值 微信小程序page上的变量_生存周期_18

 

 注意

当把全局变量定义为const常量时,是不被允许的。

微信小程序page里如何使用globalData的值 微信小程序page上的变量_生存周期_19

微信小程序page里如何使用globalData的值 微信小程序page上的变量_生存周期_20

 

 

4.2.3小程序的全局变量

说明

在retest函数中,修改小程序的变量test值为8.在test函数中查看小程序的全局变量是否被改变。

微信小程序page里如何使用globalData的值 微信小程序page上的变量_全局变量_21

微信小程序page里如何使用globalData的值 微信小程序page上的变量_全局变量_22

结果

小程序中的全局变量被修改为8.

微信小程序page里如何使用globalData的值 微信小程序page上的变量_生存周期_23

 

出来混总是要还的