javascript - 将函数名称作为参数传递给另一个不工作 javascript 的函数

标签 javascript

<分区>

我有一个名为 myObject 的类,它有多个方法,其中之一是 add。我正在使用另一个带有参数的函数,我想使用 myObject 的哪个函数。如果我想使用 add,我将其传递给“add”。如果我想使用 delete,我会将它传递为“delete”等。在函数 test 的定义中,如果我使用 obj.add 它工作正常,但如果我使用传递的参数 obj.func,它就不起作用。我进行了测试以确保 func = add,确实如此,但由于某种原因它无法与参数一起使用。知道我做错了什么吗?

testObj = new myObject();
test(testObj, 'add', 3);


function test(obj, func, parm){
     var answer = obj.func(parm);
}

最佳答案

由于对象在 javascript 中的工作方式。 obj.func 将尝试在 obj 中运行一个名为 func 的函数。但是,如果您还记得 javascript 中的所有对象都是函数。然后你可以这样做:obj[func] 这将计算 funct 变量并在 obj 中查找具有该计算名称的方法。

testObj = new myObject();
test(testObj, 'add', 3);


function test(obj, func, parm){
     var answer = obj[func](parm);
}

关于javascript - 将函数名称作为参数传递给另一个不工作 javascript 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42490911/

相关文章:

javascript - Ember 集成: Trigger click event on root element

javascript - 查找并执行与字符串匹配的 JavaScript 函数

javascript - jQuery addClass 之后/之前

javascript - 使用 jquery 忽略链接、复选框……在可编辑的 html 字段中

javascript - Webpack 并在保留文件结构的同时进行复制

javascript - 将 Json 数据重组为有组织的形式

javascript - JS : body tag onload equivalent?

javascript - 为javascript中的每个元素添加一个值

javascript - 如何将 select 值传递给另一个函数并根据传递的值从 Json 获取数据?

javascript - jquery将textarea更改为基于select的读写