1

很抱歉提出一个幼稚的问题,但我正在尝试找出将一堆代码构造成更易于管理的东西的最佳方法

我想将事件及其响应放入站点不同部分的“控制器”中。我正在浏览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 作为匿名函数的一部分传递吗?这是否会改变处理范围的方式?我更新了标题以删除“完全”,因为我认为我没有得到太多

提前谢谢

4

1 回答 1

1

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

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

于 2012-10-15T03:13:18.233 回答