3

我想成为一名 javascript 程序员,所以我试图阅读和理解所选插件中的代码。

我知道如何创建一个 jquery 插件,并且我已经阅读了有关模块模式的信息,但是我不清楚这段代码:

  //...
  attaching to jQuery object
  //...
   $.fn.extend({
    chosen: function(options) {

      return $(this).each(function(input_field) {
        if (!($(this)).hasClass("chzn-done")) {
          return new Chosen(this, options);
        }

      });
    }
  });



 //...
 //...
 //...


Chosen = (function() {
    __extends(Chosen, AbstractChosen);
    function Chosen() {
      Chosen.__super__.constructor.apply(this, arguments);


    } 
  // ...
  // attaching various events
  // ...
   return Chosen;
})();

如果 Chosen 是一个自调用函数 - 为什么要使用new语句对其进行初始化?谢谢

4

1 回答 1

1

Chosen在外部范围中是来自“自调用函数”的内部范围返回的函数/构造函数。这就是为什么它被称为new

于 2012-03-24T03:22:02.620 回答