我们已经开始通过 ajax 进行更多的动态内容加载,并且已经演变的模式是包含函数以及我们加载并粘贴到 div 中的 html。因此,如果主 html 页面有一个 div:
<div id="a"></div>
我们将这样的内容加载到该 div 中:
<div id="b" onchange="dostuff();">...</div>
<script type="text/javascript">
function dostuff() {
// ...
}
</script>
这里的 dostuff 方法通常不包含任何服务器生成的东西(通过 php 或 jsp),它更方便,将 javascript 代码放在它所操作的 html 附近可以更容易地找到函数和/或查看一个文件中的所有相关代码。
在我工作的另一个项目中,我们倾向于将 dostuff() 之类的函数放在一个单独的 .js 文件中(通常一个 .js 文件将包含许多用于多个动态加载的 html 块的函数),该文件在主页面加载一次加载。这对我来说感觉像是一个更好的解决方案,但是当我想在团队中争论这一点时,我很难确定利弊——也许我错了?
我注意到的一件事是在 Firebug 中调试更困难,因为我在其中放置断点的函数已重新加载,这使调试器感到困惑。随着浏览器重新编译功能,性能可能会降低吗?