$(document).ready速记

是以下简写$(document).ready吗?


(function($){


//some code


})(jQuery);

我看到这种模式使用了很多东西,但是我找不到任何引用。如果它是的简写$(document).ready(),是否有任何特定原因可能不起作用?在我的测试中,它似乎总是在ready事件之前触发。


RISEBY
浏览 382回答 3
3回答

慕婉清6462132

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

慕沐林林

正确的速记是这样的:$(function() {    // this behaves as if within document.ready});您发布的代码…(function($){//some code})(jQuery);…创建一个匿名函数并jQuery作为arg传入,立即执行它$。它实际上所做的就是将函数内的代码带入并像平常一样执行它,因为$它已经是的别名jQuery。:D
打开App,查看更多内容
随时随地看视频慕课网APP