繁体   English   中英

如何创建 javascript function 查找 object?

[英]How to create javascript function lookup object?

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

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 的错误。 我假设我不会正确设置 function 查找 object,但不知道该怎么做。 谢谢你的帮助。

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

myLookup[dataType](someData);

应该是(注意大写的 U)

myLookUp[dataType](someData);

写完后才看我的帖子,愚蠢的疏忽,我将属性声明为字符串,而不仅仅是属性。

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

修复问题。

一些额外的跟进,在我的实际代码中,dataType 是 jQuery select 的结果。 不知道为什么或者这是否取决于浏览器(我使用的是 FireFox),但是在属性定义周围使用双引号有效,单引号无效,并且没有引号也有效。 :-\

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM