javascript - 不明白这里发生了什么;带有 jQ​​uery 对象的匿名函数

标签 javascript jquery

很抱歉问了一个幼稚的问题,但我正在尝试找出将一堆代码构建为更易于管理的内容的最佳方法

我想将事件及其响应放入站点不同部分的“ Controller ”中。我正在翻书Javascript Web Applications并看到了一些像这样有前途的东西(p5 - 我对我所理解的内容的评论):

var controller={};  // ok- an object literal

(Controller.users = function($){  // creating an anonymous function; I don't get the dollar sign since it seems to work fine without it
  var jtClick= function(){
    alert('you clicked on me!');
  };

  $(function(){
    $('#view').on('click',jtClick);
  });
})(jQuery);

但我也注意到这做了同样的事情:

var controller={};

(Controller.users = function(){
  var jtClick= function(){
    alert('you clicked on me!');
  };

  $(function(){
    $('#view').on('click',jtClick);
  });
})();

那么我需要将 jQuery 作为我的匿名函数的一部分传递吗?这是否会改变范围的处理方式?我更新了标题以删除“完全”,因为我认为我没有得到太多内容

提前致谢

最佳答案

这是一个自调用函数,允许您安全地将 jQuery 与其他使用 $ 作为库对象/变量的库一起使用。

上面示例中的 $ 只是调用函数时传递的 jQuery 对象。

关于javascript - 不明白这里发生了什么;带有 jQ​​uery 对象的匿名函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12888785/

相关文章:

Javascript 分两部分创建元素

javascript - angular 1.x ng-options 从值加载下拉列表

javascript - 将包含 JSON 数据的 POST 请求从 HTML 发送到 Java Rest Web 服务时出现 HTTP 错误 415

javascript - 如果 adblock 阻止了 adsense,则显示图像

jquery:使用 (“parent > child” )和变量

javascript - 使用条件函数的 Jquery ReplaceWith() 不符合我的预期

javascript - 如何计算 Qualtrics 上所选答案的数量?

javascript - 使用 forEach() 将数组附加到对象中

javascript - 自动提交表单不起作用

jQuery 缓动 : How to chain animations together as one easing animation?