[英]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.