调用方法时的Jquery语法

时间:2012-07-09 06:26:00

标签: javascript jquery

此代码:

<script type="text/javascript">

someMethod1();



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

</script>

这两次召唤有什么区别?我们何时进行第一次通话,何时进行第二次通话?方法执行的顺序是什么?

3 个答案:

答案 0 :(得分:3)

someMethod1();

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

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

这是在文档准备好并且所有控件都准备好/呈现后始终调用。这需要jQuery。您可以阅读有关就绪here的更多信息。这也有助于您了解其他函数调用。

答案 1 :(得分:2)

someMethod1立即执行

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

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

方法2有时会以

的形式出现
$(document).ready(function() {
  // Handler for .ready() called.
});

了解更多信息:http://api.jquery.com/ready/

答案 2 :(得分:1)

脚本块中的语句按它们发生的顺序执行。如果我们对这些行进行编号并插入一两个额外的换行符,以便更容易讨论:

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

第1行,首先执行someMethod1()

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

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