Javascript按变量设置变量名称

her*_*ron 0 javascript variables

可能重复:
Javascript变量变量

请看下面的代码

var selected_id=1;   
resetVar("selected");

function resetVar(foo){
 foo+"_id"=0; // I want to set selected_id into 0
}?????
Run Code Online (Sandbox Code Playgroud)

那可能吗?有什么建议吗?

jfr*_*d00 8

如果您的变量是全局变量,那么它们是window对象的隐式属性,您可以将它们作为window对象的属性引用,如下所示:

function resetVar(foo){
    window[foo + "_id"] = 0; 
}?????

var selected_id = 1;   
resetVar("selected");
Run Code Online (Sandbox Code Playgroud)

如果您的变量不是全局变量,那么您需要将它们设置为某个已知对象的属性,以便您可以使用相同的技术.

一般来说,这通常是一个糟糕的编程想法,我们经常会看到这个问题,哪里有更好的方法来处理这种情况.你没有透露整体情况是什么,所以我们不能非常具体地建议,但你应该直接使用已知对象的属性,或者你应该使用数组来保存数组中的几个相关值,或者你应该只是直接引用变量.