在JavaScript中有三种声明变量的方式:var、let、const。
var:声明全局变量,换句话理解就是,声明在for循环中的变量,跳出for循环同样可以使用。
for(var i=0;i<=100;i++){ var sum=0; sum+=i; } alert(sum);
声明在for循环内部的sum,跳出for循环一样可以使用,不会报错正常弹出结果
let:声明块级变量,即局部变量。 在上面的例子中,跳出for循环,再使用sum变量就会报错
注意:必须声明’use strict’后才能使用let声明变量否则浏览并不能显示结果
const:用于声明常量,也具有块级作用域 const PI=3.14;
微信小程序事件
bindtap和catchtap都是当用户点击该组件的时候会在该页面对应的Page中找到相应的事件处理函数。但是bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡。
//为空或未定义时跳过
if (res.data.data.customer.companytype != "" && res.data.data.customer.yearincome != undefined) {
that.setData({
pickerIndex1: res.data.data.customer.companytype-1,
})
}
//添加一个对象
add1: function(){
let templist =this.data.listmode1;
let temp = {};
temp["mobeilphone"] = "";
temp["name"] = "";
temp["relation"] = 0;
temp["type"] = 0;
templist[templist.length] = temp;
this.setData({
listmode1:templist,
})
},
//删除一个对象
del1: function () {
let templist = this.data.listmode1;
var listmode = [];
for (let i = 0; i < templist.length-1;i++){
let temp = {};
temp = templist[i];
listmode[i] = temp;
}
this.setData({
listmode1: listmode,
})
},
//改变数组一个对象里其中一个的值
bindPickerChange1: function (e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
let updata = "listmode1[" + e.currentTarget.dataset.no +"].relation";
this.setData({
[updata]: e.detail.value,
})
},
//返回数据组成数组对象
if (res.data.errCode == 0) {
if(res.data.data.relations.length >=1){
var listdata = res.data.data.relations;
var templistmode1 = [];
var templistmode2 = [];
for (var i = 0; i < listdata.length;i++){
let mode1length = templistmode1.length;
let mode2length = templistmode2.length;
let temp = {};
temp["mobeilphone"] = listdata[i].mobeilphone;
temp["name"] = listdata[i].name;
temp["type"] = listdata[i].type;
if (temp.type == "0"){
temp["relation"] = listdata[i].relation -1;
templistmode1[mode1length] = temp;
}else{
temp["relation"] = listdata[i].relation -3;
templistmode2[mode2length] = temp;
}
}
that.setData({
listmode1: templistmode1,
listmode2: templistmode2,
})
}
}
//检查更新
wx.getUpdateManager().onCheckForUpdate(function (res) {
// 请求完新版本信息的回调
console.log("是否有新版本:" + res.hasUpdate);
if (res.hasUpdate) {//如果有新版本
// 小程序有新版本,会主动触发下载操作(无需开发者触发)
wx.getUpdateManager().onUpdateReady(function () {//当新版本下载完成,会进行回调
wx.showModal({
title: '更新提示',
content: '新版本已经准备好,单击确定重启应用',
showCancel: false,
success: function (res) {
if (res.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
wx.getUpdateManager().applyUpdate();
}
}
})
})
// 小程序有新版本,会主动触发下载操作(无需开发者触发)
wx.getUpdateManager().onUpdateFailed(function () {//当新版本下载失败,会进行回调
wx.showModal({
title: '提示',
content: '检查到有新版本,但下载失败,请检查网络设置',
showCancel: false,
})
})
}
});