调用方法时的Jquery语法

Jquery syntax when calling methods

本文关键字:Jquery 语法 方法 调用      更新时间:2023-09-26

此代码:

<script type="text/javascript">
someMethod1();

$(function () {
    someMethod2();
});
</script>

这两种叫法有什么区别?我们什么时候打第一个电话,什么时候打第二个电话?方法执行的顺序是什么?

someMethod1();

这可以在文档准备好之前或之后调用,并且不需要jQuery。如果这是在页面的末尾,它将在所有控件都准备好时被调用,但如果它在中间,那么它将只知道已渲染的控件。

$(function () {
    someMethod2();
});

这总是在文档准备好并且所有控件都准备好/呈现之后调用。这需要jQuery。您可以在此处阅读更多关于ready的信息。这也将帮助您理解其他函数调用。

someMethod1立即执行

someMethod2等待加载整个页面,包括外部javascript文件(其他脚本或来自其他站点)、CSS以及执行代码之前的其他资源。

$(function () {
    //run after page loads
});

方法2有时以的形式出现

$(document).ready(function() {
  // Handler for .ready() called.
});

有关更多信息:http://api.jquery.com/ready/

脚本块中的语句按出现的顺序执行。如果我们对行进行编号,并插入一两个额外的换行符,使其更容易讨论:

1  someMethod1();
2
3  $(
4    function () {
5      someMethod2();
6    }
7  );

第1行,首先执行someMethod1()

然后执行第3行$(),其中$()的参数是在第4行到第6行定义的匿名函数。$()函数调度稍后执行的匿名函数以响应文档就绪事件。也就是说,此时不执行匿名函数。

最后,当文档准备好时,执行第4行到第6行的匿名函数,这意味着第5行someMethod2()出现。