JQuery中的立即执行函数(IIFE)与DOM加载完成后的执行回调函数

tech2026-01-02  8

立即执行函数

(function(){}())(function(){})()

这两种写法,都是一种立即执行函数的写法,即IIFE (Immediately Invoked Function Expression)。这种函数在函数定义的地方就直接执行了。 IIFE函数的调用方式通常是将函数表达式、它的调用操作符、分组操作符放到一个括号内,来告诉解释器这里有一个需要立即执行的函数。 在需要表达式的场景下,就不需要用括号括起来了:

void function(){/*...*/}(); var foo = function(){/*...*/}(); true && function () { /*...*/ }(); 0, function () { /*...*/ }();

对于IIFE函数,也可以给它们传入参数,例如

(function foo(arg1,arg2,...){...}(param1,param2,...));

对于常见的(function($){…})(jQuery);即是将实参jQuery传入函数function($){},通过形参$接收。

DOM加载完成后执行的回调函数

$(function(){/…/});是$(document).ready(function(){/*…*/})的简写形式,是在DOM加载完成后执行的回调函数,并且只会执行一次。

在一个页面中不同的js中写的$(function(){/*…*/});函数,会根据js的排列顺序依次执行。

最新回复(0)