首页 > 解决方案 > `function (n) { .. }(jQuery)` 是什么意思?

问题描述

我正在检查一个缩小的脚本,并function (n) { .. }(jQuery)在整个地方看到这种模式,它像这样在链中使用:function (n) {..}(jQuery), !function (n) {..}(jQuery), !function (n) {..}(jQuery).

请注意,事实并非如此(function($) {})(jQuery);,我找不到任何问题的答案。

有人有想法吗?谢谢!

标签: javascriptjquery

解决方案


它是一个立即调用的函数表达式,通常称为立即调用函数表达式

括号当然是因为不起作用:

function(){}();

因为那是无效的 JavaScript。在此之后,在 IIFE 前面加上!字符可以忽略前缀(和后缀),当然在大多数情况下是由 minifer 完成的。


推荐阅读