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



可能的重复项:
这些jQuery就绪函数之间有什么区别?

我一直使用:

$(document).ready(function (){
    //Code goes here
});

并在其中插入了我的 jQuery/JavaScript 代码(这样它在运行任何代码之前等待 html 页面完全加载)。

最近,我看到了这个:

jQuery(function($){
    //Code goes here
});

我已经搜索了这里的区别(主要是"jQuery"部分的全部内容)。

我的问题:

  • 后一个代码块的jQuery部分有什么作用,如果有的话?
  • "($)"参数对该函数有什么作用?
  • 我的两个代码块示例之间甚至有区别(除了使页面等待加载)吗?

主要区别在于$变量周围的闭包。第一个代码段假设$变量尚未释放(通过使用 .noConflict(),或者如果您正在使用的另一个库也使用 $ 但不作为 jQuery 变量)。

第二种实现更安全,因为它不做任何假设,但允许内部代码通过将 $ 变量设置为参数来安全地使用它。

这是一回事:

使用jQuery(function(){})只是$(document).ready(function (){});的简写

注意:您可以使用$jQuery

它们是一样的。 从文档中

JQuery Call back (jQuery( callback ))

"这个函数的行为就像$(document).ready(),因为它应该用于包装页面上的其他$()操作,这些操作依赖于DOM的就绪性。虽然这个函数在技术上是可链接的,但链接它真的没有多大用处。

它们几乎相同。

在第二个函数中,您传入jQuery$到函数中。 $jQuery的简写。

直接来自 jQuery 库代码,用于何时调用$()

// tests to see if you passed in a function
} else if (jQuery.isFunction(selector)) { 
    // adds the function to be called when jQuery fires the ready event
    return rootjQuery.ready(selector); 
}

评论是我的。

最新更新