局部变量,即只可以在单个页面使用的变量,不同页面间不能引用和修改其他页面的变量。而全局变量则可以实现不同页面之间共享变量。
1、局部变量
局部变量仅限在单个页面使用,如index页面,在index页面的index.js、index.wxml、index.wass、index.json定义的变量,仅限在这个index页面的文件中使用,无法共享到其它页面的文件中使用。
(1) 局部变量的定义:
局部变量在页面的index.js文件中的Page({data:{定义变量}}),如:
page({
data:{
str:'HelloWord', //定义字符串
num:1,//定义数字
bool:false //定义布尔类型
},
)}
(2)局部变量的引用:
在页面的index.js文件中引用,需要加上前类项,如
this.data.str,
this.data.num,
this.data.bool
在页面的index.wxml文件中引用时,可直接使用,如:
<text>{{str}}</text>
<text>{{num}}</text>
<text>{{bool}}</text>
注意:变量需要用两个大括号({{ }})括起来
(3)局部变量的修改:
局部变量的修改有两种:
方法一、
this.data.str = 'Welcome to Helloworld',
this.data.num = 2,
this.data.bool = true
方法二、
this.setdata({
str: 'Welcome to Helloworld',
num:2,
bool:true
})
以上两种方法均可对局部变量进行修改,可以根据个人喜爱,但建议:当需要修改的变量数量少时用方法一,数量多时用方法二。
2、全局变量
全局变量,是在全局的文件中定义,不仅在全局页面的文件中使用,还可共享给其它页面使用。一个微信小程序,一般包含多个页面,页面之间会跳转,这时需要在不同页面之间共享数据,这时就需要用到全局变量。
一个微信小程序会存在这三个文件:app.js、app.wass、app.json。而这三个文件就是全局文件。
(1)全局变量的定义:
在app.js文件中的App({globalData:{定义全局变量}})定义,如:
App({
globalData:{
str:'Helloworld',
num:1,
bool:false
},
})
(2)全局变量的引用:
在app.js文件中的引用,如:
this.globalData.str,
this.globalData.num,
this.globalData.bool
在非app.js文件中的引用,需要先声明全局变量,再使用,如:
var app = getApp() //声明全局变量
app.globalData.str,
app.globalData.num,
app.globalData.bool
(3)全局变量的修改:
在app.js文件中修改,如:
this.globaldData.str = 'Welcome to Helloworld',
this.globaldData.num = 2,
this.globaldData.bool = true
在非app.js文件中修改,也要先声明全局变量,再修改,如:
var app = getApp() //声明全局变量
app.globalData.str = 'Welcome to Helloworld',
app.globalData.num = 2,
app.globalData.bool = true