我正在嘗試在特定名稱空間(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