我想成为一名 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 语句初始化它? 谢谢
最佳答案
外部作用域中的
Chosen
是从来自“自调用函数”的内部作用域返回的函数/构造函数。这就是为什么用 new
调用它的原因。
关于javascript - 难以理解所选插件的 JavaScript 语法,需要建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9803147/