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 )