无法理解所选插件的JavaScript语法,需要建议

时间:2012-03-21 10:55:17

标签: javascript jquery plugins jquery-chosen

我想成为一名javascript程序员,所以我试图阅读并理解chosen plugin中的代码。

我知道如何创建一个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 语句来启动它? 谢谢

1 个答案:

答案 0 :(得分:1)

外部作用域中的

Chosen是从内部作用域返回的函数/构造函数,它来自“自调用函数”。这就是为什么用new调用它。