Javascript 使用$(function(){})哪个更好;或$(document.ready();为什么?

Javascript 使用$(function(){})哪个更好;或$(document.ready();为什么?,javascript,Javascript,使用 $(function(){ }); 及 两种方法都试过了,但都能很好地工作,但在运行时会发生什么。这两种方法做的事情完全相同,但在jqueryv3中不推荐使用第二种形式。请参阅文档中的和。从第二个链接: jQuery提供了几种方法来附加将在DOM就绪时运行的函数。以下所有语法都是等效的: $( handler ) $( document ).ready( handler ) $( "document" ).ready( handler ) $( "img&q

使用

$(function(){
});


两种方法都试过了,但都能很好地工作,但在运行时会发生什么。

这两种方法做的事情完全相同,但在jqueryv3中不推荐使用第二种形式。请参阅文档中的和。从第二个链接:

jQuery提供了几种方法来附加将在DOM就绪时运行的函数。以下所有语法都是等效的:

$( handler )
$( document ).ready( handler )
$( "document" ).ready( handler )
$( "img" ).ready( handler )
$().ready( handler )
从jQuery3.0开始,只推荐第一种语法;其他语法仍然有效,但已被弃用

1.==>>$(文档).ready(函数(){ }); -这是为了防止任何jQuery代码在文档加载完成之前运行。 -这还允许您将JavaScript代码放在文档主体之前的head部分

2.==>$(函数(){

})); -这是文档就绪事件的较短方法


这两种方法都是可行的,但阅读代码时,文档就绪事件更容易理解。

更好地依赖于个人的经验,从而使这个问题成为主要的自以为是的问题。如果你有一个特定的问题,请务必编辑你的问题以反映出来。它们是一样的,请阅读官方文件。如果我记得很清楚的话,它是完全一样的。第一个较短。您还可以使用ES6语法
$(()=>{})
,还是sameUh?
$(“img”).ready
如何等同于
$(文档).ready
?我错过了什么?为什么
img
?@JeremyThille:因为jQuery对象的内容被
ready
完全忽略;请参阅以
jQuery.fn.ready=
开头的代码。就我个人而言,我希望文档中不包含该示例(并且在包含除
document
之外的任何内容的集合上使用
ready
会引发异常),但是……他们没有咨询我哇,我不知道。那么,如果这个参数被完全忽略了,为什么还要麻烦编写
文档
或者其他任何东西呢?奇怪。@JeremyThille我假设人们为了代码的清晰性而放置第一个参数。@JeremyThille:的确,jQuery API有一些奇怪的地方。:-)
$()
函数的超重载是API中我最不喜欢的事情之一,它会根据传递给它的类型和(对于字符串)内容(有时进行DOM选择,有时进行HTML解析,有时注册DOM就绪处理程序)显著改变它的功能。我更喜欢
$(选择器)
$.parse(htmlString)
$.domReady(回调)。。。但奇怪的是,他们又没有征求我的意见
$( handler )
$( document ).ready( handler )
$( "document" ).ready( handler )
$( "img" ).ready( handler )
$().ready( handler )