【发布时间】:2011-12-25 02:08:50
【问题描述】:
我想尽可能地将我的 JS 代码与 HTML 分开,我可以看到几种模式。
1) 我可以使用
$(document).ready(function() {...})
就在关闭body标签之前
2)我可以把js代码像
new FormValidationHandler()
在关闭正文标记之前的脚本标记中
3) 我可以在脚本标签中指向包含初始化的外部 js 文件,如 $(document)ready 或 new FormValidationHandler
4)还有一种方法可以使用自调用函数,但不知道它是否映射到这个问题
我的问题是首选哪种方式?
第二个是我可以将外部脚本放入网页的两个地方:
- 在头部标签中
- 在正文标签中(通常在末尾)
是否应该只包含不必在页面加载时运行的代码?那么那个代码应该放在body里面?
【问题讨论】:
-
我不认为有必要对错。但我从那里的吨 og 指导方针来看,你的钱似乎非常正确。所有要在页面加载后执行的代码都应该在文档的末尾(内联/外部) - 所以它不会减慢页面加载速度,最后作为 http 请求出现。如果仅在该页面上使用内联 JS,并且永远不会在其他地方(元素定位等)使用内联 JS,则将函数等放置在外部文件中。我也更喜欢
$(document).ready(function(),因为所有编码人员都会知道发生了什么,以及这对代码意味着什么。 -
所以您在正文部分的末尾有带有 $(document).ready(...) 的脚本标签?还是您更喜欢将其放在单独的文件中并通过那里的脚本调用该文件?
-
如果可能的话,我几乎总是尝试在正文的末尾使用它(一些解决方案在页面顶部提供了更多的灵活性)。我使用内联脚本来选择页面特定元素并向它们添加函数/插件/小部件,并使用带有 document.ready 的外部脚本来处理我所有不是页面特定的函数/插件/小部件:)
标签: javascript jquery unobtrusive-javascript