javascript - 这个未知的 JavaScript 语法是什么?

标签 javascript jquery anonymous-function iife

这是 jQuery 代码

(function(jQuery){
})(jQuery);

相当于

$(document).ready(function () {
});

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

编辑:

谢谢大家。大多数 react 相似,但口味和 sample 不同

最佳答案

它们并不等同。

您的第一个示例是 Immediately-Invoked Function Expression (IIFE) 。它围绕本地定义的变量创建一个闭包。

您的第二个示例指定了当 DOM is fully loaded 时要执行的函数。 。它用于确保 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!

关于javascript - 这个未知的 JavaScript 语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4466422/

相关文章:

javascript - 部分中的 Angular 路由定义而不是 app.js

javascript - 在javascript中计算其范围内的年龄

javascript - D3 : Animate circle along border of country on spinning globe

Jquery BUG - 鼠标移出时的动画问题

matlab - 强制评估 MATLAB 匿名函数中的变量

javascript - 从 Rails 助手调用 JS 函数

JQuery - 元素选择

javascript - Ajax 调用语法

scala - 匿名函数中的Scala返回语句

php - 如何将参数传递给 PHP 中的匿名函数?