如何动态给变量取名

clipboard.png

现在要动态给变量取名 BMResulteArr_变量
改如何做?

阅读 5.8k
4 个回答

把变量封装在对象中

var typeStr = 'abc123'
var BmResultArr_ = "BmResultArr_"
var obj={}
//赋值
obj[BmResultArr_ +typeStr] = []
//取值
for(let i in obj){
    obj[i]
}

楼上两位大神正解,一般很少你那样操作的,当然,如果要,你可以通过 eval 方法实现,该方法支持一个参数,传入一个字符串,将会运行该字符串,如 eval('var param = "123";');alert(param); 这样它就会直接运行参数字符串,解析为变量赋值。
不过建议封装到一个对象当中,这样调用,设置都会相对方便,容易管理等等。

粘一段我写过的JS希望可以帮到你,大致意思是 用变量来代替变量
`var ps_act_num = $('.ps_act').length;

    form_data.append('ps_act_num', ps_act_num);
    for(var i=1;i<=ps_act_num;i++){
        var act_content = 'act_content'+i;
        var act_content_id = '#textPsP5a_'+i;
        var act_content_val = $(act_content_id).val();
        if(act_content_val !== ''){
            form_data.append(act_content, act_content_val);
        }
        var act_get = 'act_get'+i;
        var act_get_id = '#textPsP5b_'+i;
        var act_get_val = $(act_get_id).val();
        if(act_get_val !== ''){
            form_data.append(act_get, act_get_val);
        }
    }`
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题