我的问题是我什么时候应该使用$.extend(…)?
在许多 jquery插件中,我看到 jquery-object本身是用新的(全局)函数扩展的:
在许多 jquery插件中,我看到 jquery-object本身是用新的(全局)函数扩展的:
$.extend({ doSth: function() { alert('do sth here'); } }
扩展jquery-object而不是创建包含该函数的全局对象有什么好处:
var myLib = { doSth: function() { alert('do sth here'); } }
目前我正在开发一个小型的js-lib.在那个lib中,$.fn-object被扩展了,我需要一些全局函数.但是我不知道在哪里放置全局函数:在我自己的lib-object或jquery-object中?
最好的祝福,
大不了
解决方法
给出一些上下文,因为问题并不完全清楚:对于那些不知道的人,
$.extend()
使用单个参数扩展了jQuery对象.
通常没有必要这样做,除非你添加一些与库相关的东西,我会将它保存在你自己的命名空间中.它在$下没有任何用处,唯一可能发生的事情是随后的新jQuery核心更新可能会发生命名冲突.
如果你有一个或两个静态方法与插件一起,你扩展$.fn和$然后我会认为它是可以接受的,但如果你有很多方法(听起来像这样),那就没有了让他们受益于$.
老实说单个参数版本存在的原因(或者,更准确地说,首先添加)是jQuery本身,对于内部使用(几乎每个“部分”都使用它,请查看here,here和here作为示例),我不确定外部用途是否有意,他们只是将其打开/可扩展.