jquery如何使用js的prototype模式开发类级别插件,并可以接受参数配置 50

寻找一种原型开发jquery类级别插件的写法,比如我的插件叫dialogbox,大致的写法如下:varDialogbox=function(options){this.s... 寻找一种原型开发jquery类级别插件的写法,比如我的插件叫dialogbox,大致的写法如下:var Dialogbox = function(options){ this.settings = $.extend({}, Dialogbox.DEFAULTS, options);};Dialogbox.prototype.alert = function(options){//警告框的实现,可以调用传递过来的配置}Dialogbox.DEFAULTS = {//配置};$.dialogbox = new Dialogbox(); // 这里把插件绑定到Dialogbox对象上了,这里我不想new,有什么写法??最后调用是:$.dialogbox.alert({//自定义的配置});一般jquery类级别插件开发是$.pluginName={ foo:function(){}, foo1:function()},问题来了,如果换成使用原型来做,后面的怎么些呢? 我不new可以吗,参考bootstrap的写法是使用function Plugin(options){//这里是return this.each();},都是对象型的开发,我想也使用这种模式来做原型的类级别的开发,怎么写呢,如果还不是太懂,可以看图片我做的示例,帮忙改下回答满意的话可以追财富值哦,我财富值多的很。谢谢 展开
 我来答
张恺阳
2017-04-09 · 知道合伙人软件行家
张恺阳
知道合伙人软件行家
采纳数:166 获赞数:532
开发过各种类型网站及APP等,如有相关问题可以随时向我提问。

向TA提问 私信TA
展开全部
首先,如果必须需要使用原型(prototype)的话,那么就必须得new一下,否则不实例化哪有原型呢?
如果不使用原型的话。可以使用$.extend直接将对象绑定到jQuery对象上。就可以使用$.pluginName();了。
如果DEFAULTS中保存的参数是一次性的。即单次调用的参数不继承到下次调用。可以直接在对象中做一个属性就可以了。
如果需要继承的话。可以直接在类中声明全局变量赋给window。它将被永久保存下来。除非你重载页面或者手动清除。
如有疑问,可以继续追问。
追问
你看我上面传的图片,那个是我现在的写法,实例化那部分能怎么优化,bootstrap插件都是把return this.each插件主体这部分给提取到Plugin函数里,然后在其他地方通过Plugin.call();方式来使用, 我如果也想通过这种模式去写,怎么改??
追答
其实你的这个插件实现的功能很简单,不需要用到实例化和原型,直接做一个对象,合并到jquery里就可以了,概念用得多,不一定就是最好的!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式