我正在尝试在特定名称空间(dpcom)下添加函数。这可能是点符号,取决于用户在他们的JavaScript文件中做了什么。所以基本上,我希望他们做的是这样的:关于使这一点的Javascript代码更性感的建议?
dpcom.library('something.foo.funcName', function() {
// Code goes here.
})
然后,他们可以拨打他们的东西后,如:
dpcom.something.foo.funcName();
将执行他们上面定义的代码。我想,在使其成为性感帮助的代码是在这里(它使用jQuery):
dpcom.library = function(name, func) {
root = dpcom;
objects = name.split('.');
lastElement = objects[objects.length - 1];
$(objects).each(function(idx, elem) {
if (elem == lastElement) {
root[elem] = func;
} else if (!root[elem]) {
root[elem] = {}
}
root = root[elem];
});
}
这应该处理可能的点符号,创造在我的命名空间中的对象,如果他们不存在(我不要覆盖任何已经声明的对象)。
我上面的代码似乎工作得很好,但我有一种感觉,我可以做得更好,但我的大脑并没有告诉我在哪里......任何人都想刺穿它?
如果你觉得代码可以是性感,你无可救药IMO ;-) – 2010-09-03 15:32:30
代码可能会变成一种性感。 – Stephen 2010-09-03 15:41:21
我完全同意......在这一点上,我无能为力。 :) – intargc 2010-09-03 16:30:21