是$(function(){});和$(“document”)。ready(function(){});相同?

时间:2010-12-08 06:03:54

标签: javascript jquery

我一直很喜欢Lynda.com的Jquery Essential Training,我注意到教练在开始时使用:

    Fig. 1

    $("document").ready(function(){
    fun stuff goes here
    });

然而,在他开始使用的某个地方:

    Fig. 2

    $(function(){
    fun stuff goes here
    });

从他说话的方式来看,听起来好像是完全同义的(一些固有的jquery简写?)但据我所知,它从未明确触及过。

我确信有人可以快速解决这个问题。我找到了this,但我认为这个问题略有不同 - 我理解在文档就绪上调用函数的概念与全局可用函数的概念; (这些功能也有名称。)

教师使用幻象功能(我认为这是一个没有名字的函数的术语),当输入图2时,他说“所以这将是文档就绪......”

2 个答案:

答案 0 :(得分:8)

是的,它们完全相同,只是别名。

From the jQuery site

  

以下所有三种语法都是等效的:

$(document).ready(handler)
$().ready(handler) (this is not recommended)
$(handler)

答案 1 :(得分:1)

默认上下文是文档,因此如果传入一些不引用HTML节点的随机mumbo jumbo字符串,它将是文档。

$('fdsljkfdslj').context是文件。因为默认上下文是文档,这意味着您不必指定它,只需将函数提供给jQuery,$(function() { });

而且我认为你的意思是$(document),因为指定字符串文档不那么受欢迎,因为document将真实文档对象传递给jQuery。但同样,这将与传递任何内容或mumbo jumbo字符串相同,因为我们从字面上传递document