这种未知的JavaScript语法是什么?

Lor*_*nzo 2 javascript jquery anonymous-function iife

这是jQuery代码吗?

(function(jQuery){
})(jQuery);
Run Code Online (Sandbox Code Playgroud)

相当于

$(document).ready(function () {
});
Run Code Online (Sandbox Code Playgroud)

如果是,两者之间有什么区别?如果没有,第一个做什么?

编辑:

谢谢大家.大多数反应与不同的口味和样品相似

Ste*_*hen 5

他们并不等同.

您的第一个示例是立即调用的函数表达式(IIFE).它围绕本地定义的变量创建一个闭包.

第二个示例指定DOM完全加载时要执行的函数.它用于确保在执行封闭代码之前DOM中的所有元素节点都可用.这也是一个封闭.

这两个示例都使用匿名函数.

值得指出的是,使用两个示例都是一种好习惯,如下所示:

(function($){
    // locally-scoped, DOM-is-NOT-Ready-code here.
    $(function () {
        // your locally-scoped, DOM-is-ready-code here.
    });
}(jQuery)); // note that I've moved the invocation into the parens
            // that contain the function.  This makes JSLint happy!
Run Code Online (Sandbox Code Playgroud)