javascript - 在 Javascript 中动态访问函数参数

标签 javascript function dojo

我有一个像这样的 dojo 定义函数

define([
    // some param
]),function(foo, bar, baz, fooz, ...){
    return{
        // some custom code
    }
}

我想动态访问我的函数 args(foo, bar, ...)

我知道我可以将它包装到 var

foo : foo

并使用

访问它
this[objectToCall].methodToRun();

在这个例子中,调用应该是

this.run('foo');

function run(objectToCall){ // foo    
    this[objectToCall].methodToRun(); // refer to foo
}

有没有办法在不将其包装到 var 中的情况下实现此目的?

提前致谢

编辑:

再进一步一点 我可以使用 arguments 关键字。

function(foo, bar, baz, fooz, ...){
    var functionArguments = arguments;
    return{
        // some custom code
    }
}

但我无法使用 functionArguments['foo'] 访问 foo 对象;

最佳答案

您似乎正在尝试使用“methodToRun”函数,就像接口(interface)定义一样。

当您说想要动态选择正确的对象时,听起来像是您将该对象存储在代码中某处的某个 var 中(例如:var selectedObject = foo;)

由于是动态的,您应该能够使用以下方式调用对象上的方法 selectedObject.methodToRun();

(但现在您只能提供实际上实现“methodToRun”的对象,否则您将收到“对象不支持此方法”错误。)

关于javascript - 在 Javascript 中动态访问函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10698070/

相关文章:

javascript - dojo xhr帖子问题

javascript - 对 Javascript 对象进行逆向工程?

javascript - Google map API v3 事件标记 onClick

javascript - 在javascript中确定调用函数

javascript - meteor :如何导出类并在服务器上的另一个文件中使用

javascript - 对 "Object.__proto__ === Function.prototype"返回 "true"感到困惑

JavaScript:如何像 C# 一样生成 Rfc2898DeriveBytes?

javascript - 在sugar.js中,如何通过过滤(不完全匹配)找到数组的 "last index of"?

php - 什么基于浏览器的所见即所得编辑器尊重我的 HTML 格式?

javascript - 如何在实习生功能测试中使用 dijit/registry