微信小程序动态拼接变量名

569 阅读1分钟

众所周知,微信小程序因为安全问题不能使用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…