[英]JavaScript/jQuery and “top-level” functions
当我仔细阅读jQuery驱动的JavaScript源文件时,我看到如下定义的函数:
$(document).ready(function() {
...
});
$(function {
...
});
我想我理解第一个:我假设它的功能在整个页面下载后触发,是吗? 如果没有,请纠正我!
让我困惑的是第二个。 这是一个匿名函数吗? 如何/在哪里被调用? 什么时候被调用(页面加载)?
我想我习惯看到以旧方式编写的JavaScript函数:
function myFunction() {
...
}
然后我只要在需要的时候调用myFunction
。 这种“旧”方式与jQuery的构造相比如何? 感谢您帮助我理解任何这种混乱!
第二个函数只是第一个方法的简写方法。 两者都为文档的“就绪”事件注册回调。
以下所有三种语法都是等效的:
$(文件)。就绪(句柄)
$()。ready(处理程序)(不建议这样做)
$(句柄)
编辑:
当DOM可以安全更新时,就会触发ready
事件。 事件将在图像等外部资源完全加载之前引发,但大多数浏览器似乎等待外部CSS在调用之前完成加载,因为脚本通常依赖于布局计算完成。 简写方法jQuery方法非常常见,因为它为脚本提供了一种易于记忆和直接的方法,以便在脚本“准备好”时更改DOM。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.