使用函数的字符串名称应用JavaScript函数

时间:2018-02-15 10:41:53

标签: javascript function apply

是否可以使用JavaScript String变量将自定义应用于JavaScript变量,例如:

app.get(param1, callback)

我希望能够将'get'参数化为字符串, 等等:

let verb = 'get'
app['verb'](param1, callback)

似乎无法正常工作。

有没有办法在JavaScript中执行此操作?

3 个答案:

答案 0 :(得分:3)

你几乎就在那里,因为verb是一个变量,你不应该把它放在引号'

let verb = 'get'
app[verb](param1, callback)

答案 1 :(得分:3)

您应该使用app[verb],不带引号,否则您传递字符串"verb",而不是verb变量的值。以下是嵌套在object中的函数示例(非常接近您的情况):

const app = {get: function(param1, param2) { console.log(`Param1: ${param1}, Param2: ${param2}`) }}
let verb = 'get'
app[verb](1, 2)

答案 2 :(得分:2)

app['verb'](params); 

尝试调用名为' verb'的函数。

你想要的是:

let verb = 'get';
app[verb](param1, callback);