众所周知,微信小程序因为安全问题不能使用eval()函数,所以不能使用eval()来动态的拼接变量名。
但可以使用ES6的字符串模板来直接拼接,直接看代码
let obj = {
obj1 :{
say:'hi1'
},
obj2 :{
say:'hi2'
}
}
let one = 'obj1'
let two = 'say'
// 等于 obj.obj1.say
// `` 是ESC下 TAB上的那个键
console.log(
obj[`${one}`][`${two}`]
)
// 输出 > hi1
也就是说
obj['obj1'] 就是等于 obj.obj1
这种对象名表示方法也是ES6新增的,除此之外
obj['ob'+'j1'] 也等于 obj.obj1
更多详情可以看看阮一峰的ES6入门,地址
https://es6.ruanyifeng.com/#docs/object#%E5%B1%9E%E6%80%A7%E5%90%8D%E8%A1%A8%E8%BE%BE%E5%BC%8F
版权声明:本文为qq_45963949原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。