$(document).ready(function()和$(function())有什么区别?

thi*_*y93 7 javascript jquery

所以我知道这是做什么的:

$(document).ready(function(){
    // Your code here...
});
Run Code Online (Sandbox Code Playgroud)

现在我看到人们这么做了:

<script type="text/javascript">     
$(function(){
    // Your code here...
});
</script>
Run Code Online (Sandbox Code Playgroud)

这两种方式做同样的事情吗?

我在这里看到一个匿名函数在jquery选择器中声明,但实际上从未被调用过,但是通过页面运行的方式,似乎这可能只是在pageload上运行.

Ken*_*ing 7

是的,他们正在做同样的事情.当调用的参数是单个函数对象时,$()函数会换行$(document).ready().

(编辑反映评论中的问题)

  • 不,jQuery检查传递给它的对象的类型,如果它是一个函数,它绑定到文档的ready事件; 如果它传递了一个字符串,它将执行其他操作(如选择DOM元素). (3认同)

Cha*_*atu 5

是的,他们做的完全一样.

$(function(){
    // Your code here...
});
Run Code Online (Sandbox Code Playgroud)

是一个快捷方式

$(document).ready(function(){
    // Your code here...
});
Run Code Online (Sandbox Code Playgroud)