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

  • Post author:
  • Post category:小程序


众所周知,微信小程序因为安全问题不能使用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 版权协议,转载请附上原文出处链接和本声明。