我建立我的第一个面向对象的JS库,并具有一块这可能是超级简单了一点小麻烦IM ...将我的var设置为带参数的匿名函数?
我有这样的:
var storageLocker = function(catalog){
if(catalog){
this.catalog = catalog;
}
//my code...
}()
我需要能够做什么像jQuery这样的其他库可以在其中选择一个元素(在我的情况下选择一个localStorage项目),然后将其他函数链接到它。我所有的工作,但为了达到最佳做法,并使其更具扩展后,我把它放在一个匿名函数,现在我无法弄清楚如何有语法:
storageLocker('localStorageItem').save({"item":"an example item saved to localStorageItem"})
但现在如果我现在用这个语法来做,它返回这个错误:
Uncaught TypeError: Property 'storageLocker' of object [object DOMWindow] is not a function
任何想法?
我读了你的其他问题,如果你想使用私有变量,你需要使用闭包。也就是说,你应该在最后使用这个结构_with_`()`,但是你需要从内部返回第二个函数,它处理你的实际逻辑。在另一个问题上有一个很好的例子。 – jwueller 2010-11-29 01:49:42