为了账号安全,请及时绑定邮箱和手机立即绑定

$(document).ready速记

$(document).ready速记

RISEBY 2019-10-15 10:49:47
是以下简写$(document).ready吗?(function($){//some code})(jQuery);我看到这种模式使用了很多东西,但是我找不到任何引用。如果它是的简写$(document).ready(),是否有任何特定原因可能不起作用?在我的测试中,它似乎总是在ready事件之前触发。
查看完整描述

3 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

的简写$(document).ready(handler)是$(handler)(handler函数在哪里)。


您问题中的代码与无关.ready()。相反,它是一个以jQuery对象作为参数的立即调用的函数表达式(IIFE)。其目的是将$变量的范围至少限制在其自己的块中,以免引起冲突。您通常会看到jQuery插件用于确保的模式$ == jQuery。


查看完整回答
反对 回复 2019-10-15
?
慕沐林林

TA贡献2016条经验 获得超9个赞

正确的速记是这样的:


$(function() {

    // this behaves as if within document.ready

});

您发布的代码…


(function($){


//some code


})(jQuery);

…创建一个匿名函数并jQuery作为arg传入,立即执行它$。它实际上所做的就是将函数内的代码带入并像平常一样执行它,因为$它已经是的别名jQuery。:D


查看完整回答
反对 回复 2019-10-15
  • 3 回答
  • 0 关注
  • 381 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信