我相信前端的每一个小伙伴都不熟悉jQuery。它最大的魅力之一就是有很多
插件可以帮助我们更容易地实现各种
功能。
前几天晚上,没事干,自己写一个简单的jQuery插件,功能很简单,只让选中的元素高亮
显示,但有些想法,很
值得学习,可以在这里查看代码。
本文不讨论如何编写jQuery插件。我们将讨论如何实现jQuery的插件
扩展功能,以及扩展如何
执行我们为jQuery编写的插件。
我们可以
模拟创建一个迷你jQuery。
var = { };
好吧,太简单了…
接下来,我们必须在这个对象上
安装一个扩展
方法,让开发人员向我的对象添加功能和方法。
var $ { {
扩展:
函数(ob){
不管在内部写什么,暂时
}
}
现在,我们添加一个扩展方法到对象,可以称之为美元的扩展(obj)方法。
假设我们现在将一个方法添加到$,它是添加一个插件,我们只需要:
扩展({
:函数MyFunction(obj){
做某事…
}
})
现在只有美元。MyFunction(obj)是必要的;你可以做你想做的事的方法。
问题的关键是,我们很清楚地将方法挂载到$扩展。为什么我们可以直接用美元来称呼它呢让我们来看看扩展内部
处理传入的对象。
var $ { {
扩展功能(obj){
对于(OBJ VAR键){
这个__proto__ {key} = obj {key};
}
}
}
原来,延伸穿过传入的对象,然后把它挂在__proto__美元,所以美元随时可以称呼的原型法。
当然,事实上,jQuery的扩展实现要比这个复杂得多。下面是jQuery插件的底层实现的基本思想,它将公共方法挂载到对象的原型中。
具体的插件写的可以看看文章开头的链接。我已经注释了插件所写的每一个细节,并且我们互相学习!
以上是jQuery插件扩展扩展的简单实现原理,您已经将它扩展到了。