构建插件/库时的构造函数问题

时间:2019-01-11 19:48:33

标签: javascript

我正在四处摸索,试图更好地了解我将如何构建自定义jQuery插件。我从来没有建立过自己的库或插件,所以现在在中国商店有点牛。

我已经成功地将我的库附加到了jquery对象上,但是我不了解一些事情。

在我的库中,我在原型链上创建了一个称为checker的方法。当我在代码中调用它时,这可以很好地工作。但是,当我尝试使用一些参数实例化新对象FunkyLib时,它表示FunkyLib不是构造函数,我不确定为什么。 这是代码:

console.log('FuNkY Test');

(function ($, window, document, undefined) {

    function FunkyLib (options) {
        this.settings = options;
    }

    FunkyLib.prototype = { 
        checker: function() { alert('Purake'); }
    };

    $.fn.funky = new (FunkyLib);

}(jQuery, window, document));  

如果我尝试使用构造函数实例化某些参数,则会在控制台中收到一条错误消息,指出FunkyLib不是构造函数。 例如:

$.fn.funky = new (FunkyLib('Parameter'));

$.fn.funky = new (FunkyLib());

of,甚至在jquery调用中:

$('my-class').funky('param')

这可以:

$('my-class').funky.checker();

我很确定我的结构完全是错误的。我正在阅读一些资料,其中之一是有关创建jQuery插件的教程。但是我希望有人可以就我的错误给我一些“要点”建议。 谢谢!

0 个答案:

没有答案