众所周知,微信小程序因为安全问题不能使用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入门,地址es6.ruanyifeng.com/#docs/objec…