共享JavaScript库的命名空间还是使用自己的命名空间?

Dr.*_*ein 9 javascript namespaces global-scope

在JavaScript中众所周知,在全局范围内声明变量是一件坏事.所以我倾向于使用的代码包含命名空间的JavaScript.

似乎有两种不同的方法 -

  1. 将特定于应用程序的函数添加到库的命名空间,例如 $.myCarouselfunction
  2. 创建自己的命名空间,例如 MyApplication.myCarouselFunction

我想知道是否有更好的解决方案,或者他们是否倾向于在优点和缺点方面达到某种程度.

到目前为止,我个人决定不使用库的原因是分离/隔离/缺少与库代码和可能共享该命名空间的潜在插件的冲突.还有更多,我不考虑?

Jan*_*nen 16

我认为选择这类事物最重要的是语义.

您的函数/类是扩展还是依赖于库特定的功能?将它放在库名称空间中.

你的函数/类库是独立的吗?在这种情况下,最好将其放在自定义命名空间中.这使您可以在最初使用它的库之外重用代码.


ckr*_*mer 1

我倾向于自己将自定义代码添加到库中。这样做的最大原因是内置代码和我的自定义代码之间的使用语义保持一致。话虽这么说,我真的想不出这种方法有任何技术优势或劣势。我认为您对冲突的担忧是有效的,尽管可能不太可能(如果您最终得到与您的自定义函数之一冲突的组件/模块,很可能是因为您正在用其他人的代码替换您的代码)。