javascript - jQuery/javascript 包装代码查询

标签 javascript jquery

我继承了一些用以下方式包装的 javascript 代码:

(function ($) {
    //some javascript using jQuery here...               
} (jQuery));

它有什么作用?

最佳答案

它立即调用匿名函数,将全局 jQuery 作为参数传递给函数调用,然后由 $ 参数引用。

这确保 $ 是该函数的局部变量,因此如果其他库正在使用全局 $ 标识符,它不会发生冲突。

可以这样想:

   // create a function that receives jQuery as an argument
function keepItLocal( $ ) {

    // execute your jQuery code in here
    //   where $ is now a reference to jQuery     

};

   // invoke the function, passing in the global jQuery
keepItLocal( jQuery );

因为在 JavaScript 中限定变量范围的唯一方式是在函数中,这是防止全局命名空间污染的常见模式。

如果我们这样做:

$ = jQuery;

$('.someClass').someMethod();

...如果 $ 之前已定义,我们可能会覆盖它,或者其他一些代码可能会出现并覆盖它。

关于javascript - jQuery/javascript 包装代码查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5145278/

相关文章:

javascript - 第413章 : Request entity too large

javascript - 如何使用javascript在同一页面上打开超链接?

javascript - 部署 Next.js

javascript - 架构: Grouping client side,或从服务器提取多个分组数据?

javascript - 读取 URL 参数

javascript - 如何将光标移动到其中包含文本的文本框的前面?

javascript - 在 Javascript 中删除字符串的前导零

javascript - html 溢出 x 失败

javascript - 简单的 jQuery Accordion - 在可见的地方隐藏按钮

jquery - 使用 "submit"回调和 $.ajax 发布表单时多次提交