javascript - 调用变量中指定的对象的 Javascript 成员函数

标签 javascript

我有以下所谓的揭示模块模式,我想使用变量调用函数b内部的函数a。我怎样才能做到这一点?

foo = function() {
    a = function() {
    };

    b = function() {
        memberName = 'a';
        // Call a() using value stored in variable `memberName`.
    }

    return {b: b};
}();

最佳答案

问题是 a 不是成员,而是一个变量(而且它应该是本地变量!)。除非您使用黑魔法 (eval),否则您无法通过名称动态访问它们。

您需要将其设为对象的成员,以便可以通过括号表示法访问它:

var foo = (function() {
    var members = {
        a: function() { }
    };

    function b() {
        var memberName = 'a';
        members[memberName].call();
    }

    return {b: b};
}());

关于javascript - 调用变量中指定的对象的 Javascript 成员函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23397912/

相关文章:

javascript - 以增量方式显示 SQLite 数据库中的数据

javascript - 对字符串的内部数组进行排序

javascript - 如何在 node.js 中重定向然后停止

java - 如何在 Android 应用程序中运行用户提供的任意代码?

javascript - 打印 5 个乘法表(从 1 到 12)

javascript - 如何将 Django inlineformset_factory 与自定义表单集一起使用

javascript - currentPosition似乎永远不会离开1?

php - 将 JSON 解析数组转换为 CSV

javascript - jQuery 延迟和 promise - 错误 : Object doesn't support property or method 'then'

javascript - 如何通过简单的 if 条件语句将 div 可见性与输入文本链接起来