在此截屏视频(http://www.youtube.com/watch?v=h0uZIljjElo)中,我认为我经常看到jQuery语法用于包装和定义不受益于jQuery的函数。 E.g:
<script>
$(function() {
// some code to run at load time
});
</script>
编写没有第2行和第4行的代码会更短。以这种方式写作是否有一些价值?
答案 0 :(得分:7)
代码是“从jQuery中受益”,要求库在整个DOM准备好之前不要运行它。例如,如果该代码在<head>
中,则对DOM的引用(通过“id”或“class”或其他任何内容)通常不起作用,因为正文尚未加载,因此没有要找的元素。
答案 1 :(得分:2)
即使该函数未明确使用JQuery,它也将在ready
的{{1}}事件上执行。使用document
可以实现相同的效果,但JQuery的版本更好恕我直言,因为它允许任意数量的函数来监听window.onload = function() {}
事件。
答案 2 :(得分:2)
这个语句是一个文档就绪语句,基本上是说“在DOM准备好被操作之前,请不要运行这个块中的任何代码。”
答案 3 :(得分:0)
没有什么不妥,只有在某些情况下你可能想要在你正在寻找的DOM对象时立即使用函数,所以我们将函数留在外面并尽快使用“on *”事件。但是将它包装在jquery中所有DOM就绪函数只是一种更安全的编写方式。