使用 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()
如果 functions
在 global context
中,因为每个 global function
或 global variable
都是 window
对象的 key
。
function test1() {
alert('Hi!');
}
function test2() {
alert('Hi!');
}
function test3() {
alert('Hi!');
}
var callString = 'test1';
window[callString]();
是否可以通过使用字符串参数指定需要调用的函数的名称来有条件地调用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()
如果 functions
在 global context
中,因为每个 global function
或 global variable
都是 window
对象的 key
。
function test1() {
alert('Hi!');
}
function test2() {
alert('Hi!');
}
function test3() {
alert('Hi!');
}
var callString = 'test1';
window[callString]();