理解所选插件的JavaScript语法有问题,需要建议

Trouble with understanding JavaScript syntax of chosen plugin, need advice

本文关键字:有问题 语法 JavaScript 插件      更新时间:2023-09-26

我想成为一名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语句初始化它?感谢

外部作用域中的Chosen是从"自调用函数"中的内部作用域返回的函数/构造函数。这就是为什么它被称为new