我是网站开发的新手,建议将所有脚本保存在文件中。 但是,如果我有一个特定的页面脚本,我应该把它放在我的脚本文件中吗?
如果是,那么假设我在button
事件的特定页面中有id
个onclick
。如果我把它放在公共文件中,它不会是一个开销,浏览器是否会尝试不必要地尝试使用button
找到id
?
但另一方面,如果我将脚本保留在页面中,代码的可维护性就会折腾。
请指导我,如何保持代码清洁和可维护?
答案 0 :(得分:1)
如果脚本出现在多个页面上,则它属于外部文件。如果它只需要在一个页面上,AND只有几行(很容易维护),那么它应该在该文件中。
在尝试对其执行任何操作之前,您应该使用if语句来检测按钮是否存在。在这种情况下,它不会增加页面的开销,您可以使用通用脚本文件。还要记住,浏览器可以缓存javascript文件,因此在每个页面上使用的单个文件中包含公共代码可以减少总体平均页面加载时间。
答案 1 :(得分:1)
在我看来(这 和意见),脚本总是在外部文件中。
如果您只需要在一个页面上使用脚本,则可以单独将其包含在该页面上。
在页面上添加内联脚本的问题是,对该页面的后续请求必须每次都重新加载脚本。如果脚本是外部的,则由浏览器缓存。如果您决定要在第二页上使用该脚本,那么如果它已经是外部文件,则会更容易转储。
请记住,一切都是从一次性开始的。
要解决有关在每个页面上包含短脚本的问题,请运行性能分析,了解该一次性执行对页面性能的影响程度。我经常编写具有以下结构的脚本(jQuery用于简洁):
$('.widget').each(function () {
$(this).widget($(this).data('widget'));
});
请注意,如果选择与页面上的任何元素都不匹配,则不会运行内部函数。这种加载和执行的开销非常小,以至于我在整个网站中包含了这些类型的初始化程序,即使它们仅用于一页或两页,因为它们不会显着影响页面性能。