我试图在Javascript中创建函数查找,本质上是将数据类型映射到对该数据类型执行某些操作的函数。现在我有类似的东西:

var Namespace = Namespace || {};
Namespace.MyObj = function () {
    var stringFunc = function(someData) {
        //Do some string stuff with someData
    };

    var intFunc = function(someData) {
        //Do some int stuff with someData
    };

    var myLookUp = {
        'string': stringFunc,
        'int' : intFunc
    };

    return {
         PublicMethod: function (dataType, someData) {
             myLookUp[dataType](someData);
         }
    };
} ();


调用Namespace.MyObj.PublicMethod(dataType, someData)时,出现错误,未定义myLookUp。我假设我不会正确设置函数查找对象,但不确定如何执行此操作。谢谢你的帮助。

最佳答案

问题可能只是不正确的情况

myLookup[dataType](someData);


应该是(注意大写U)

myLookUp[dataType](someData);

10-07 23:18