js中可以动态去改变变量名获取数据


原文链接:https://segmentfault.com/q/1010000022269771

js中可以动态去改变变量名获取数据吗

js中可以动态去改变变量名获取数据吗
如:
var a1 = [{name1: 1},{name1: 2}]
var a2 = [{name1: 3},{name1: 4}]
var a3 = [{name1: 5},{name1: 6}]
this.fu(3)

fu(num){

this.b= a(num)  // 有办法让this.b= a3的数据吗

}

有,但是不推荐,就是用eval

屏幕快照 2020-04-05 下午3.07.25.png

动态获取变量可以变成别的形式,比如把这些变量挂载在对象上,通过获取对象的key来获取到值
比如

var obj = {
    a1: 1,
    a2: 2,
    a3: 3
}
function fn(num) {
    return obj['a' + num]
}

这样是比较安全可靠的


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM