JavaScript,如何将变量解析为命令?

JavaScript,如何将变量解析为命令?,javascript,parsing,variables,command,Javascript,Parsing,Variables,Command,我试图做的是在for()中启用多个复选框。现在看起来是这样的,但据我所知,您不能从这样的变量运行命令,我不能运行(例如)cab\u type\u value=“whatever”。我也不能运行road\u load\u enabled;它就是不起作用。有人知道我怎样才能做到这一点吗?如何在document.MyForm.InputName.disabled中解析我的varJ for( var j=1; j<=14; j++ ) { var cab_type_value = "doc

我试图做的是在
for()
中启用多个复选框。现在看起来是这样的,但据我所知,您不能从这样的变量运行命令,我不能运行(例如)
cab\u type\u value=“whatever”
。我也不能运行
road\u load\u enabled
;它就是不起作用。有人知道我怎样才能做到这一点吗?如何在
document.MyForm.InputName.disabled
中解析我的var
J

for( var j=1; j<=14; j++ ) {
    var cab_type_value = "document.exe_mode_form.cab_type" + j + ".value";
    var cab_type_checked = "document.exe_mode_form.cab_type" + j + ".checked == 1";

    for( var i=1; i<=document.exe_mode_form.road_load_number.value; i++ ) {
        var road_load_value = "document.exe_mode_form.load" + i + ".value";
        var road_load_enabled = "document.exe_mode_form.load" + i + ".disabled = false";
        var road_load_disabled = "document.exe_mode_form.load" + i + ".disabled = true";
        var rld_db = "document.exe_mode_form.a" + i + "_a1.value";

        if ( cab_type_checked ) {
            if ( test == 1 ) {
                if(road_load_disabled) {
                    alert("road_load_disabled");
                    road_load_enabled;
                }
                test = 2;
            }

            if(cab_type_value == rld_db) {
                if(olof == 1) {
                    alert("cab_type_value  == rld_db");
                    olof = 2;
                }

                road_load_enabled;
            }
        }
    }
}

我已经检查过,
cab\u type\u值
rld\u db
具有相同的值

尝试更改这些类型的行:

var cab_type_value = "document.exe_mode_form.cab_type" + j + ".value";
致:

同样的逻辑适用于函数调用:

someVariable = 'alert';
window[someVariable]('Foo!');//alerts foo

如果您的函数未在全局范围内声明,则可以用任何名称空间对象替换
window
foobarObject.orEven.nestedOnes[someVariable]()

最后,因为我个人讨厌
窗口
关键字(它是循环引用),所以您可以简单地选择使用
这个['alert']('foo')在常规函数调用或全局范围中<代码>这个
指向它所称的上下文,在这些情况下,它是全局对象

可能的重复,有正确的方法和错误的方法。这是错误的方式:为什么所有命令都是引号?谢谢。这正是我要找的。
var cab_type_value = document.exe_mode_form['cab_type' + j].value;
someVariable = 'alert';
window[someVariable]('Foo!');//alerts foo