用 javascript 调用函数的抽象方法。可以做到吗?
Posted
技术标签:
【中文标题】用 javascript 调用函数的抽象方法。可以做到吗?【英文标题】:Abstract way to call functions with javascript. Can it be done? 【发布时间】:2016-03-13 02:54:17 【问题描述】:是否可以在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?*/
【问题讨论】:
是的。那么你的actual question 是什么? 【参考方案1】:当然,如果你的结构合理的话。您可以使用类数组(或括号)表示法:
var functions =
test1: function () ,
test2: function () ,
test3: function ()
var callString = 'test1';
functions[callString](); // run functions.test1()
callString = 'test2';
functions[callString](); // run functions.test2()
【讨论】:
【参考方案2】:如果functions
在global context
中,则每个global function
或global variable
都是key
的window
对象。
function test1()
alert('Hi!');
function test2()
alert('Hi!');
function test3()
alert('Hi!');
var callString = 'test1';
window[callString]();
【讨论】:
以上是关于用 javascript 调用函数的抽象方法。可以做到吗?的主要内容,如果未能解决你的问题,请参考以下文章