使用 javascript 调用函数的抽象方式。可以吗?

Abstract way to call functions with javascript. Can it be done?

是否可以通过使用字符串参数指定需要调用的函数的名称来有条件地调用javascript中的函数?

function test1(){
    // something
}

function test2(){
   // Something
}
function test3(){
   // something
}
var callString = 'test1' // test1 or test2 or test3

callString();
/* Obviously this is an error, but
coul this be formatted so that JS,
could call the function of callString?*/

当然可以,如果你的结构正确的话。您可以使用类似数组(或括号)的表示法:

var functions = {
    test1: function () {},
    test2: function () {},
    test3: function () {}
}

var callString = 'test1';
functions[callString](); // run functions.test1()

callString = 'test2';
functions[callString](); // run functions.test2()

如果 functionsglobal context 中,因为每个 global functionglobal variable 都是 window 对象的 key

function test1() {
  alert('Hi!');
}

function test2() {
  alert('Hi!');
}

function test3() {
  alert('Hi!');
}
var callString = 'test1';

window[callString]();