0

我的10-15页每页里面有100-200行js$(document).ready()

将它们全部合并到一个外部文件中是否明智?我不明白那将如何工作。浏览器是否不必一次检查所有内容,甚至是当前页面上没有的功能?第二个问题可能是功能冲突。

请给我一些关于如何处理这个问题的提示。

4

3 回答 3

1

如果您的 js 文件变得太大,您可以将这些行拆分为多个文件。
请注意,100-200 行非常小。如果大小对你来说真的很重要,你应该缩小你的代码。

“我们应该忘记小的效率,比如大约 97% 的时间:过早的优化是万恶之源”

关于函数冲突,使用命名空间和闭包,并尽可能保持全局对象的清洁。

于 2012-06-13T21:28:40.077 回答
1

这会是明智的吗?是的。你给浏览器一个大的可缓存块,他不必再担心什么会提高页面加载速度。将所有 onload 事件放在不同命名的函数中,并从相关页面调用它们,或者如果它们必须执行相同操作,则在不同页面上重用函数。

于 2012-06-13T21:30:41.563 回答
1

您必须研究各种事情。

首先在可能的情况下将所有 js 删除到公共 cdn 对于 ex jquery 其次总是将所有 js 缩小并合并到一个文件中(同样适用于 css)

这里的好处是如果你有 10 个 js 文件,浏览器必须发出 10 个请求并分别接收每个文件。更不用说移动设备中每个域的请求数量了。

另一方面,如果所有文件都作为一个文件发送,则只有一个请求。你是对的,它会花费大量时间执行(或者至少检查所有准备就绪的东西),但是这个处理时间比文件不同时发生的请求时间要短得多。

于 2012-06-13T21:33:11.970 回答