1.有时候需要动态获取缓存中的键名对应的键值,这是就需要获取缓存对象中的键名对应的键值,统一封装,便于管理
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="https://cdn.bootcss.com/jquery/1.8.3/jquery.js"></script>
</head>
<body>
<script type="text/javascript">
var userInfo = {"name":"张三","age":"18","tel":"12345678910"};
/**通过属性的方式**/
var name="name";
var val_name = userInfo[name];
/**通过拼接的方式**/
var age="age";
var val_age = eval("userInfo."+age);
console.log("val_name:",val_name);
console.log("val_age:",val_age);
/**在小程序中,可以在util.js中封装一个存缓存的方法,以后当userInfo这个缓存键名变化时只需修改util即可**/
/**读取userInfo缓存也类似,在util中封装一个方法,在别的页面调用即可**/
/**因为当代码重构时,为了避免和老的缓存键名同名而引起不必要的问题,所以键名须不同,如果每个页面都有,改起来比较麻烦,在util中统一维护比较方便**/
/**设置用户缓存信息**/
/**
* res为登录后,接口返回信息
function mySetStorageSyncInfo(res){
var userInfo = 'userInfo';
var newName = wx.getStorageSync(userInfo);
newName.name = res.data.name ? res.data.name : "";
newName.age = res.data.age ? res.data.age : "";
newName.tel = res.data.tel ? res.data.tel : "";
wx.setStorageSync(userInfo, newName);
}
**/
/**读取用户缓存信息**/
/**
* name为键名
function myGetStorageSyncInfo(name){
var userInfo = 'userInfo';
var myinfor = wx.getStorageSync(userInfo);
return myinfor[name];
}
**/
</script>
</body>
</html>
2.在小程序中,使用注释的部分即可;