【发布时间】:2009-03-14 21:15:16
【问题描述】:
我有三个要合并到一个文件中的 javascript 文件。是否可以将所有代码复制粘贴到一个文件中,还是会出现命名空间冲突和其他问题?
编辑:我担心每个文件都像一个封装每个文件代码的命名空间,如果我合并文件,这种封装将不复存在。
【问题讨论】:
标签: javascript performance optimization
我有三个要合并到一个文件中的 javascript 文件。是否可以将所有代码复制粘贴到一个文件中,还是会出现命名空间冲突和其他问题?
编辑:我担心每个文件都像一个封装每个文件代码的命名空间,如果我合并文件,这种封装将不复存在。
【问题讨论】:
标签: javascript performance optimization
如果脚本文件全部加载到 <head> 中,并且您按照它们在 HTML 中出现的顺序粘贴它们,那么应该没有任何问题。
话虽如此,如果他们使用 document.write 我不确定...
【讨论】:
如果它们在按顺序加载时都可以工作,那么将它们连接到一个文件并改为你没有区别。只需确保按照与单独加载时相同的顺序将它们放在一起。
【讨论】:
回答您的编辑:不,每个文件都不会充当单独的命名空间。
每个文件的顶层将共享相同的全局命名空间。因此,拥有所有三个内容的单个文件与单独引用每个文件相同,假设内容以相同的顺序出现。
【讨论】:
试试看它是否有效。 :) 命名空间冲突将完全取决于代码,所以如果不发布它,很难告诉你。只要它们没有错误,将它们放在一个文件中应该不会有问题,但如果一个依赖于另一个,请确保将它们按正确的顺序放置。
【讨论】:
JavaScript 中绝对没有命名空间封装,除非您竭尽全力实现它。默认情况下,一切都在全局命名空间中结束。 JavaScript module pattern 有助于减少全局命名空间污染。
【讨论】: